我需要以编程方式从我的 Android 设备获取我正在呼叫的号码。我现在正在做的事情如下:
我收听android.intent.action.PHONE_STATE
广播,这意味着我正在被呼叫或正在呼叫(或接收短信等)。
在我从意图中BroadcastReceiver
检索额外的内容。可悲的是,如果我发起呼叫incoming_number
,我无法获得被呼叫的号码。我怎样才能做到这一点?
我需要以编程方式从我的 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());
}