1

BroadcastReceiver電話がいつ着信または発信したかをリッスンする を作成する必要があるため、開始時刻と終了時刻を記録できます。2 つのレシーバーはほぼ同じに見えるのでBroadcastReceiver、着信用と発信用に 2 つの別個の を作成する代わりに、両方に 1 つを作成して、発生したイベントに応じてアクションを実行できることに気付きました。

とマニフェストにintent-filtersを登録したのですが、どのようなものから解雇されたのかを知るにはどうすればよいですか?android.intent.action.PHONE_STATEandroid.intent.action.NEW_OUTGOING_CALLonReceive()Intent

@Override
public void onReceive(Context context, Intent intent) {
    Bundle extras = intent.getExtras();

    // get the intent fired--incoming or outgoing call?
    // then, save it in a variable and perform corresponding actions
}
4

3 に答える 3

7

単にインテント.getAction(); を使用してください。

String action=intent.getAction();

if(action.equalsIgnoreCase(Intent.ACTION_NEW_OUTGOING_CALL)){

//dosomething here
}
else if(action.equalsIgnoreCase(second action)){

//do something here
}
于 2012-09-05T07:24:52.700 に答える
2

intent.getAction()あなたの行動を の使用と比較してくださいequals()

于 2012-09-05T07:23:31.803 に答える
0

また、保留中のインテントを設定するときに1つの文字列パラメーターをバンドルすることもできます。これにより、どのインテントからOnReceiveが呼び出されるかを知ることができます。また、「intent.getAction()」を使用することもできます。

于 2012-09-05T07:28:02.450 に答える