呼叫日志是否注册了来自哪里的呼叫的SIM序列号?

时间:2012-03-22 08:56:27

标签: android telephonymanager

我正在创建一个关于通话记录的应用程序,我偶然发现了这个想法。现在,通过电话拨号器和设备上安装的voip软件拨打的电话也会显示为通话记录并猜测,因为Voip软件会在呼叫按钮按下Voip时呼叫电话拨号器。现在我正在考虑消除voip调用的解决方案,我提出了这个想法,但我不知道它是否可行。

现在是否可以获取从中进行特定呼叫的Sim卡序列号?

这是我正在使用的代码行。

        Telly=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    simSerialNumber=Telly.getSimSerialNumber();
    Cursor Logs_query=managedQuery(CallLog.Calls.CONTENT_URI, null, null, null, null);
    int number=Logs_query.getColumnIndex(CallLog.Calls.NUMBER);

我很感激建议和代码方面的一些帮助。

3 个答案:

答案 0 :(得分:1)

  

现在是否可以获取从中进行特定呼叫的Sim卡序列号?

不,您无法区分日志来自哪个拨号程序。

呼叫日志内容提供程序不保存插入日志的拨号程序的信息。

答案 1 :(得分:0)

如果您运行该代码,您现在有任何结果或例外吗? 你设置了权限READ_PHONE_STATE吗?这需要使用getSimSerialNumber()方法。

答案 2 :(得分:0)

您必须使用Telephony Manager;如果没有找到联系人号码。用户;您可以使用相同的Telephony Manager Class获取Sim Card的Sim Serial Number和Imei No. Android Device ...

添加权限:

导入:

import android.telephony.TelephonyManager;

使用以下代码:

TelephonyManager tm =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

     // get IMEI
     imei = tm.getDeviceId();

     // get SimSerialNumber
     simSerialNumber = tm.getSimSerialNumber();