2011-03-10 123 views
21

有没有人有编程选择SIM卡的经验,当手机使用双SIM卡适配器?双SIM卡Android

感谢, 斯登


后来补充: 我发现在Android Market上的应用MultiSim,该公司在其描述中写道:“... 模拟双SIM卡适配器用户可以切换他们的SIM卡...“,那么Android SDK中是否有一些API,允许SIM卡切换/选择?

+0

您可以使用Java反射来获取多个SIM卡详情。 [这里是示例如何做到这一点](http://stackoverflow.com/a/17499889/703851) – 2013-07-09 04:48:24

+0

您可以尝试使用'MultiSim'库: http://stackoverflow.com/a/41544422/1665964 – 2017-01-09 11:35:08

回答

25

目前的Android平台不支持多张SIM卡。具有此类支持的设备已针对此进行了定制,因此您需要从该设备的制造商那里获取有关与其进行交互的任何设施的信息。

+0

嗨,你确定吗?* MultiSim *应用程序和* Hypercard 3G *(http://www.2-phones-in-1.com/content/hypercard-3g-digital-dualsim-3g-use-2-simcards -any-mobile-phone-online-simswitch-and-full-gs)正在工作?如果您将检查* Hypercard 3G * URL,您会发现那里的双SIM卡包含Android和Symbian应用程序,允许SIM卡切换...感谢您的答复。 – STeN 2011-03-10 07:43:54

+21

@STEN:“嗨,你确定吗?” - @ hackbod是Google员工和核心Android团队成员。 “MultiSim应用程序和Hypercard 3G(2-phones-in-1.com/content/...)这样的产品是如何工作的?” - 我怀疑@hackbod是这些应用程序中的任何一个的作者,因此无法真正评论这些应用程序。这些应用程序的开发者可能会遵循@ hackbod关于联系设备制造商的建议。 “那么Android SDK中是否有一些API允许SIM卡切换/选择?” - 没有。 – CommonsWare 2011-03-10 13:23:17

+1

尝试在API级别23中添加getDeviceId(int slotId)。 – Ameer 2016-03-10 08:27:20

0

请参阅此Dual Sim Android文章。如果你遵循这个方向,我认为你可以做到,即使目前的android api不支持双SIM卡移动设备。

0

对于SMS:

假设你正在为自己的手机应用程序,你是愿意去通过找出分配给你的每一个SIM卡的ID(sim_id)的麻烦(可能通过检查手机的日志输出,搜索sim_id,这是我做了什么),你可以使用下面的代码来设置默认SIM卡,发送短信:

int simId = <place desired SIM ID here>; 
Intent simIntent = new Intent("android.intent.action.SMS_DEFAULT_SIM"); 
simIntent.putExtra("simid", simId); 
sendBroadcast(simIntent); 

与其他一些UI提示的东西相结合(对实际上'选择'首选SIM卡),这个该怎么办。

我不确定这种方法是否适用于您(尽管代码似乎与制造商无关);我通过在我的Mlais MX28上进行反复试验(用定制的ROM)来解决这个问题。但我认为这仍然值得一试。 :)

更新: 奇怪的是,该解决方案在我正在处理的应用程序的几个更新后意外停止工作。但我遇到了另一种方式(这似乎更有希望)。 (我相信这可以扩展到其他SIM选择场景为好,因为设置缓存包含name小号gprs_connection_sim_settingvoice_call_sim_settingvideo_call_sim_setting之类条目。)

ContentValues val = new ContentValues(); 
val.put("value", "here goes the preferred SIM ID"); 
getContentResolver().update(Uri.parse("content://settings/system"), val, "name='sms_sim_setting'", null); 

(不幸的是,这需要android.permission.WRITE_SETTINGS许可。 )

5

由于没有人提到它,Android终于在Android 5.1上添加了official multisim support

但是,除非您的应用程序仅针对该API(目前不足0.5%的市场),否则您自己使用其他答案中提到的更晦涩的解决方案。

相关问题