0

我需要通过 android 设备的第二个插槽发送短信。我多次搜索以找到使用第二个 sim 插槽发送短信的解决方案。但是这个问题没有任何常规的解决方案。有些人对每个系列的移动设备使用反射来从第二个插槽发送短信。现在,我如何使用反射来解决这个问题?

4

1 回答 1

0

您没有提及您的目标是哪个 cookie,但在 Lollipop MR1 中,您可以通过基于订阅获取 SmsManager 来使用第二张 SIM 卡发送:

http://developer.android.com/reference/android/telephony/SmsManager.html#getSmsManagerForSubscriptionId(int)

每张 SIM 卡在插入时都会被分配一个订阅 ID。这些 ID 和有关 SIM 的信息存储在 TelephonyProvider 的 siminfo 表中。ID 从 1 开始。要获取有关您当前活动的订阅 ID 的信息,请使用 SubscriptionManager:http: //developer.android.com/reference/android/telephony/SubscriptionManager.html

该方法getActiveSubscriptionInfoForSimSlotIndex采用 SIM 插槽索引(通常为 0 或 1)并返回有关该 SIM 的订阅信息,包括可用于获取正确 SmsManager 的订阅 ID。

如果您的目标平台是 Lollipop 之前的平台,那么 Google 并未正式支持 DS 支持,并且很可能是由平台供应商(高通、联发科等)添加的,因此 API 未记录在案。您可以通过调用查询 SmsManager 的方法SmsManager.class.getDeclaredMethods(),但 DS API 可能位于完全不同且未记录的类中。

于 2015-12-18T21:06:51.153 回答