Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通过特定SIM卡从日志中获取呼叫_Android_Telephonymanager_Calllog - Fatal编程技术网

Android 通过特定SIM卡从日志中获取呼叫

Android 通过特定SIM卡从日志中获取呼叫,android,telephonymanager,calllog,Android,Telephonymanager,Calllog,我想从Android CallLog获取呼叫。从特定SIM卡拨打的呼叫。有没有办法检查哪个SIM卡是用来打电话的? 以下方法允许在执行通话和应用程序运行时检查SIM卡。 TelephonymanagerSystemServiceContext.TELEPHONY_SERVICE.getSimSerialNumber; 如何在安装应用程序之前检查哪个SIM卡用于拨打电话?在类中,似乎没有任何字段保存SIM卡信息,例如拨打电话时使用了哪个SIM卡 因此,我想无论您的应用程序是否已安装都没有区别,通话

我想从Android CallLog获取呼叫。从特定SIM卡拨打的呼叫。有没有办法检查哪个SIM卡是用来打电话的? 以下方法允许在执行通话和应用程序运行时检查SIM卡。 TelephonymanagerSystemServiceContext.TELEPHONY_SERVICE.getSimSerialNumber; 如何在安装应用程序之前检查哪个SIM卡用于拨打电话?

在类中,似乎没有任何字段保存SIM卡信息,例如拨打电话时使用了哪个SIM卡


因此,我想无论您的应用程序是否已安装都没有区别,通话记录内容提供商似乎没有维护SIM卡,例如从哪个SIM卡发起通话。

这是否意味着如果用户在单个SIM卡设备中更换SIM卡,无法从日志中检查哪一个用于拨打电话?我想您可以尝试telephonyManager.getSimSerialNumber;获取运营商内部唯一的SIM卡序列号。保存此值,以后如果您更改SIM卡,它将返回不同的值。这样,在单个SIM卡设备中,您仍然可以获取信息。虽然我自己没有尝试过,但我想值得尝试一次,如果它是您的核心功能@AADTechnical,谢谢您的建议,它是有效的。但我需要知道是否有可能在安装应用程序之前检查哪个SIM卡用于拨打电话。好的,这只能通过粘性广播来实现,您的应用程序可以在设备上安装时查询粘性广播。但我从来没有听说过任何安卓系统广播,当SIM卡被添加/从设备中取出时,会填充SIM卡信息,这是粘性的。当SIM卡状态发生变化时,Android中会出现广播。Android.intent.action.SIM_状态发生变化……但您的应用程序只能在设备上安装后才能获得广播。