2

プログラムで Android デバイスから呼び出している番号を取得する必要があります。私が今していることは次のとおりです。

私はブロードキャストされていることをリッスンしandroid.intent.action.PHONE_STATEます。これは、私が呼び出されているか、呼び出している (または SMS などを受信して​​いる) ことを意味します。

インテントからBroadcastReceiverエクストラを取得します。incoming_number悲しいことに、電話かけても、呼び出されている番号を取得できません。これどうやってするの?

4

2 に答える 2

3

このインテントでインテントを使用する必要があり、発信番号を含むandroid.intent.action.NEW_OUTGOING_CALLエクストラを取得できます。Intent.EXTRA_PHONE_NUMBER

インテントは、新しい発信コールが無効化された場合に発行されます。

これには許可が必要ですandroid.permission.PROCESS_OUTGOING_CALLS

それが役立つことを願っています。

于 2011-03-17T09:51:28.840 に答える
1
@Override
public void onReceive(Context context, Intent intent) {
    String phonenumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
    Log.d("OutgoingCallReceiver",phonenumber);
    Log.d("OutgoingCallReceiver",intent.getExtras().toString());
}
于 2013-05-24T10:15:14.637 に答える