选择 SIM 卡拨打电话

Choosing SIM to make a call

我真的很想解决这个问题。

我正在开发一个应该可以打电话的应用程序,但是当设备有双 SIM 卡时问题就出现了。 启动 Intent.ACTION_CALL activity 后会弹出一个对话框来选择 SIM 卡,我通过将 "NOT_NEED_SIMCARD_SELECTION" extra 的值设置为 false 来设法不打开该对话框。但我仍然不知道如何强制使用我想使用的插槽。 这应该适用于 API 19.

我找到了一个应用程序 Dual SIM Selector,它可以完美运行,但我不知道他们是如何管理它的。

我在反思的帮助下弄明白了。 结果我的设备的 API 以某种方式改变了,它提供了像 setDefaultSim.

这样的方法
Method setDefaultSim = TelephonyManager.class.getDeclaredMethod("setDefaultSim", Context.class, int.class, int.class);
setDefaultSim.invoke(null, this, 0, slot);