繁体   English   中英

使用 adb 从双卡安卓设备拨打电话

[英]Making a call from a dual sim android device using adb

我正在尝试使用 adb 从双卡手机(SIM 0 和 SIM 1)上的特定卡拨打电话,但我不知道如何将呼叫定向到该特定卡插槽。 到目前为止,我已尝试使用以下命令拨打电话:

adb shell am start -a android.intent.action.CALL -d tel:XXXXXXXXXX

这工作正常,但它总是使用 SIM 0 调用。

我尝试使用 radiooptions 作为:

adb shell radiooptions

但事实证明,此特定设备不支持 radiooptions。

/system/bin/sh: radiooptions: not found

我确实在另一台不是双卡的设备上尝试过,而且 radiooptions 似乎可以解决这个问题。 这就是我首先尝试 radiooptions 的全部原因,因为它有一个非常明确的选择特定 sim 卡的实现。

无论如何,我发现了以下双卡安卓手机的问题,但它们不是基于 adb 的。 它们都是 Java 问题。

使用双卡设备中的指定 SIM 卡拨打电话

来自第二个 SIM 卡的呼叫

他们似乎有所帮助并提供了一些关于如何完成的线索,尤其是这个:

SO 更换 SIM 卡的答案

这与我需要的非常接近,但我不知道如何将其转换为命令提示符友好代码。

上述链接中使用的方法“意图”在此处有文档:

https://developer.android.com/reference/android/content/Intent.html

Multi sim android官方文档: https : //developer.android.com/about/versions/android-5.1.html#multisim

任何帮助是极大的赞赏。

SIM卡只是一个容器。 电话用来注册网络和拨打电话的实体名称是SubscriberID 一张 SIM 卡可能包含多个SubscriberID

因此,与其询问如何从另一张 SIM 卡拨打电话,您应该询问如何使用 SubscriberID 而非默认用户 ID 拨打电话- 此其他SubscriberID是存储在同一张 SIM 卡上还是另一张 SIM 卡上几乎无关紧要。

我不知道是否有办法为单个呼叫指定不同的SubscriberID 但是您应该可以在调用之前设置一个新的默认SubscriberID ,然后再将其恢复。

要找出当前的 ID 值,请运行:

adb shell settings get global multi_sim_voice_call

然后通过 UI 更改活动订阅者并再次运行该命令以获取另一个 ID。

在调用之前使用此命令切换到适当的 ID:

adb shell settings put global multi_sim_voice_call <ID>

要更改data呼叫设置 - 使用multi_sim_data_call而不是multi_sim_voice_call

谢谢! 它在调用数据命令上都非常有效,使用get进行读取,而put进行更改。

东西这里要注意的是,对于SIM1返回使用获得的2值和SIM2具有为4的值,0为AskMeAlways选项的值,当我试图其他的数字,而不是(2,4) ,当您用get读回它们时,它会保留它们,但会选择手机中的AskMeAlways选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM