2

是否可以在android中获取来电号码的以下信息

  1. 中冶
  2. 跨国公司
  3. 拉丁美洲和加勒比
  4. 小区标识

我试过代码

        TelephonyManager tel = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        String networkOperator = tel.getNetworkOperator();

        if (networkOperator != null) {
            mcc = Integer.parseInt(networkOperator.substring(0, 3));
            mnc = Integer.parseInt(networkOperator.substring(3));
        }

它返回当前 SIM 卡的详细信息,但我想为传入号码找到它

4

3 回答 3

1

这很棘手,因为您还需要在该用户的手机中实现应用程序。因为当您接到某个用户的电话时,您将只能获得 MSISDN,您无法通过它获取详细信息。其他用户手机上应该有一个应用程序,如果他拨打电话,它将触发一个事件,现在该应用程序可以获取 MCC.MNC 和小区 ID,并可以通过短信发送给被叫方,然后被叫方可以处理这个短信到获取详细信息。它的简单逻辑是,如果您想监视某人,那么您必须在他的末端安装一些东西。

于 2013-10-30T05:23:55.000 回答
0

这会给你 # :

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String sim = telephonyManager.getSimSerialNumber();

还要将此权限添加到清单:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

获取手机#将其更改为:

String sim = telephonyManager.getLine1Number();

您也可以参考:Access the SIM Card with an Android Application?

要获取来电者 SIM 卡详细信息,请参阅:http ://sms411.net/2006/07/finding-out-someones-carrier/ 以及 如何在 android 中获取来电号码的运营商名称..?

于 2013-02-12T08:37:40.073 回答
0

解决方案 :

你不能因为来电的数据只包含数字作为字符串,并且通过短信?也没有,因为消息的用户数据头可以为空!!!

如果您开发当前位置应用程序,它只能由手机所有者使用。

另一方面,有一些开发者想用AT命令来请求通话,但通话附带的数据只有号码,只有号码!!!

于 2014-10-20T13:51:37.560 回答