我需要从我的Android设备以编程方式获取号码。我现在在做的是以下几点:获取我拨打的号码Android
我正在播放android.intent.action.PHONE_STATE
这意味着我正在通话或正在通话(或接收短信等)。
在BroadcastReceiver
我从意图检索额外incoming_number
。可悲的是,我不能得到正在呼叫的号码,如果我虽然发起呼叫。我怎样才能做到这一点?
我需要从我的Android设备以编程方式获取号码。我现在在做的是以下几点:获取我拨打的号码Android
我正在播放android.intent.action.PHONE_STATE
这意味着我正在通话或正在通话(或接收短信等)。
在BroadcastReceiver
我从意图检索额外incoming_number
。可悲的是,我不能得到正在呼叫的号码,如果我虽然发起呼叫。我怎样才能做到这一点?
您需要使用意图android.intent.action.NEW_OUTGOING_CALL
在这个意图,你可以得到额外Intent.EXTRA_PHONE_NUMBER
其中包含传出号码。
如果新的传出呼叫不相关,则发出该意图。
为此,您需要许可android.permission.PROCESS_OUTGOING_CALLS
。
希望有所帮助。
@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());
}