2

我需要从我的Android设备以编程方式获取号码。我现在在做的是以下几点:获取我拨打的号码Android

我正在播放android.intent.action.PHONE_STATE这意味着我正在通话或正在通话(或接收短信等)。

BroadcastReceiver我从意图检索额外incoming_number。可悲的是,我不能得到正在呼叫的号码,如果虽然发起呼叫。我怎样才能做到这一点?

回答

3

您需要使用意图android.intent.action.NEW_OUTGOING_CALL在这个意图,你可以得到额外Intent.EXTRA_PHONE_NUMBER其中包含传出号码。

如果新的传出呼叫不相关,则发出该意图。

为此,您需要许可android.permission.PROCESS_OUTGOING_CALLS

希望有所帮助。

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()); 
}