2

我需要以编程方式从我的 Android 设备获取我正在呼叫的号码。我现在正在做的事情如下:

我收听android.intent.action.PHONE_STATE广播,这意味着我正在被呼叫或正在呼叫(或接收短信等)。

在我从意图中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 回答