我需要從我的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());
}