代碼如下:
@Override
public void onCallStateChanged(int state, String incomingNumber) {
if(lastState == TelephonyManager.CALL_STATE_RINGING&&
state == TelephonyManager.CALL_STATE_IDLE){//當前狀態為空閑,而上次為響鈴,則判斷為未接來電
Log.d("MainActivity","phone number:"+incomingNumber);
}
lastState = state;
super.onCallStateChanged(state,incomingNumber);
}
Log列印如下:
12-14 10:38:21.607 9291-9291/com.smstest D/MainActivity﹕ phone number:
求大神解釋一下啊,不甚感激
uj5u.com熱心網友回復:
Log.d("MainActivity","phone number:"+incomingNumber); 放在條件外面試一下是不是CALL_STATE_IDLE 是沒號碼或沒權限
uj5u.com熱心網友回復:
放在外面是可以的,像華為的手機,是可以獲取incomingnumber的,但是小米的手機為Null。感覺是不是系統定制的原因?uj5u.com熱心網友回復:
這個不清楚,有可能啊,我這里沒小米,你去問小米吧uj5u.com熱心網友回復:
來個人解決一下啊uj5u.com熱心網友回復:
你好,這個問題你解決了么,我現在遇到了這個問題,現在我手上的小米6手機無法獲取到incomingNumber的,回傳的是空uj5u.com熱心網友回復:
需要獲取READ_CALL_LOG(通訊錄)權限才可以轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/130702.html
標籤:Android
