日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 紧急号码没记录,android – 当呼叫被隐瞒/未知时,来电号码是...

發(fā)布時間:2024/1/23 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 紧急号码没记录,android – 当呼叫被隐瞒/未知时,来电号码是... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

您可以閱讀TelephonyRegistry的來源:Link

/** … this class provides a

centralized place that applications can register and be called back

from. */

來電的廣播是通過以下方法發(fā)送的:

private void broadcastCallStateChanged(int state, String incomingNumber) {

....

....

Intent intent = new Intent(TelephonyManager.ACTION_PHONE_STATE_CHANGED);

intent.putExtra(PhoneConstants.STATE_KEY,

DefaultPhoneNotifier.convertCallState(state).toString());

// If `incomingNumber` is empty, the key

// `TelephonyManager.EXTRA_INCOMING_NUMBER` will not be present

// in the attached Bundle

if (!TextUtils.isEmpty(incomingNumber)) {

intent.putExtra(TelephonyManager.EXTRA_INCOMING_NUMBER, incomingNumber);

}

mContext.sendBroadcastAsUser(intent, UserHandle.ALL,

android.Manifest.permission.READ_PHONE_STATE);

}

因此,如果incomingNumber不為空,您將收到與TelephonyManager.EXTRA_INCOMING_NUMBER相對應(yīng)的值.

incomingNumber來自DefaultPhoneNotifier#notifyPhoneState(Phone):Link

@Override

public void notifyPhoneState(Phone sender) {

Call ringingCall = sender.getRingingCall();

String incomingNumber = "";

if (ringingCall != null && ringingCall.getEarliestConnection() != null){

// Here

incomingNumber = ringingCall.getEarliestConnection().getAddress();

}

try {

mRegistry.notifyCallState(convertCallState(sender.getState()), incomingNumber);

} catch (RemoteException ex) {

// system process is dead

}

}

ringingCall.getEarliestConnection().getAddress()從擴展com.android.internal.telephony.Connection(GsmConnection,CdmaConnection ..)的類之一調(diào)用getAddress()方法.

如果查看GsmConnection的構(gòu)造函數(shù),可以看到為數(shù)字和調(diào)用者名稱分配了變量.據(jù)我所知,作為接收者,你只收到號碼 – 如果有的話.因此,如果是空字符串(當(dāng)阻止/隱藏調(diào)用者ID時),您收到的Bundle中將不會出現(xiàn)TelephonyManager.EXTRA_INCOMING_NUMBER鍵.

您沒有提到為什么需要此信息.如果您嘗試通過比較字符串值來顯示個性化消息,我建議您執(zhí)行以下操作:

String phoneNumber = extras.getString(TelephonyManager.EXTRA_INCOMING_NUMBER,

"Personalized message for a Blocked Call");

我不確定這是否是一個充分的測試,但是為了模擬被阻止的來電顯示,你可以看一下這個問題:Link.

總結(jié)

以上是生活随笔為你收集整理的android 紧急号码没记录,android – 当呼叫被隐瞒/未知时,来电号码是...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。