10
我使用广播接收器拦截Android手机上的传入呼叫如下机器人:如何检测的私人号码编程
tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
Bundle bundle = intent.getExtras();
String number = bundle.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
在,我在两个装置上测试了“私人号码”的情况下,它显示了数作为HTC野火-1和Galaxy S上-2。我检查了android.telephony.PhoneNumberUtils
,但它不能帮助我。
有没有一种功能或通用的方式来检测Android手机上的私人号码?
我不确定它适用于所有设备,因为我找不到任何相关文档。 –
我同意你的意见。我不知道是否有任何设备打破了这个“小于零”的规则,但现在它似乎适用于我。由于没有文档,并且Android设备在其实现方面有很多,所以我会遵循此规则,直到我收到来自用户的错误报告。不是最好的事情,但目前唯一给出的事实。 –
@宝乐这个工程的原因可以看出,这里的CallLog.java的android源码是一个链接,http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android /4.0.3_r1/android/provider/CallLog.java#269受限制的调用被分配了一个常量,在com.android.internal.telephony.CallerInfo中定义为-1,用于未知,-2用于专用,-3用于付费电话号码 – Sojurn