テレフォニーマネージャでの発信番号を検索します着信コール(状態の変化が鳴っているとき)。誰が私にいつ発信呼とその終了を検出できるか教えてください。は、どのように私はこれを使用しています
また、Eclipseエミュレータで発信呼び出しをシミュレートする方法もあります。 eclipseでエミュレータ制御を介して着信コールを行うことができました。
テレフォニーマネージャでの発信番号を検索します着信コール(状態の変化が鳴っているとき)。誰が私にいつ発信呼とその終了を検出できるか教えてください。は、どのように私はこれを使用しています
また、Eclipseエミュレータで発信呼び出しをシミュレートする方法もあります。 eclipseでエミュレータ制御を介して着信コールを行うことができました。
IntentFilter
の目的でandroid.intent.action.NEW_OUTGOING_CALL
文字列パラメータを使用するブロードキャストリスナーを使用し、AndroidMenifestの許可をPROCESS_OUTGOING_CALLS
に与えることを忘れないでください。これは動作します。発信コールがあるたびに、トーストメッセージが表示されます。コードは以下のとおりです。
public static final String outgoing = "android.intent.action.NEW_OUTGOING_CALL" ;
IntentFilter intentFilter = new IntentFilter(outgoing);
BroadcastReceiver OutGoingCallReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent)
{
// TODO Auto-generated method stub
String outgoingno = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Toast.makeText(context, "outgoingnum =" + outgoingno,Toast.LENGTH_LONG).show();
}
};
registerReceiver(brForOutgoingCall, intentFilter);
MyPhoneReceiverを言わせて、新しいクラスを作成し、BroadcastReceiverからそれを拡張し、onReceiveメソッドを実装します。
public class MyPhoneReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent){
String phoneNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
}
}
別のクラスでは、言わせて
、 MainActivity.classのonCreateメソッド内。例えば。<uses-permission
android:name="android.permission.PROCESS_OUTGOING_CALLS">
</uses-permission>
:
のAndroidManifest.xmlのAndroidManifest.xmlで
<receiver
android:name=".MyPhoneReceiver">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
も、追加で
IntentFilter filter = new IntentFilter("android.intent.action.NEW_OUTGOING_CALL");
MyPhoneReceiver myPhoneReceiver = new MyPhoneReceiver();
registerReceiver(myPhoneReceiver,filter);