我需要以编程方式从我的Android设备获取号码。我现在正在做的是:
我在听android.intent.action.PHONE_STATE
广播,这意味着我正在接听电话或接听电话(或收到短信等)。
在BroadcastReceiver
我从意图中检索额外的incoming_number
。遗憾的是,如果我发起呼叫,我无法获得正在呼叫的号码。我怎么能这样做?
答案 0 :(得分:3)
您需要在此意图中使用Intent android.intent.action.NEW_OUTGOING_CALL
,您可以获得包含传出号码的额外Intent.EXTRA_PHONE_NUMBER
。
如果新的拨出电话已被转移,则会发出意图。
您需要获得权限android.permission.PROCESS_OUTGOING_CALLS
。
希望有所帮助。
答案 1 :(得分: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());
}