首页 文章

通过adb shell / Tasker关闭第二个SIM卡 - 使用活动/意图

提问于
浏览
0

我有一个小米Mi6,它支持两个SIM卡 . 我需要弄清楚如何使用Tasker在工作时间之外关闭第二个SIM(SIM2) .

我已经找到了如何使用Tasker打开SIM2的设置页面:

Action: android.intent.action.MAIN
Cat: Launcher
Extra 1: subscription_id:1
Extra 2: slot_id:1
Package: com.android.phone
Class: com.android.phone.settings.MultiSimInfoEditorActivity
Target: Activity

它会调出settings page for SIM2, like so.但是,我无法弄清楚如何打开或关闭SIM卡 .

为了找到有用的东西,我已经反编译了com.android.phone(TeleService.apk),但是我不知道从哪里开始 . 我知道SO _1672932已经有一个Java解决方案,但我不知道它是否有效或如何使其适应Tasker .

可以找到反编译的MultiSimInfoEditorActivity here . 我还了解了SIM卡关闭再打开时发生的情况 .

我非常感谢任何帮助!

1 回答

  • 0

    我只用我的Mi6运行MIUI v9,Android build 8.0.0测试了它 . It requires root.

    在研究了SO solution linked above in my question后,我注意到代码正在检索特定电话功能的索引号,然后它将用于运行命令来关闭移动数据 . 使用这个,我找到了一种实际关闭SIM卡的方法 .

    谷歌生成的this page from Haotian Deng显示了服务调用函数的这些索引列在ITelephony.aidl文件中 . 这些是Java代码提取的内容 . 这些都不适用于Mi6,但链接到解释服务调用命令的this page

    # service
    Usage: service [-h|-?]
        service list
        service check SERVICE
        service call SERVICE CODE [i32 INT | s16 STR] ...
    Options:
      i32: Write the integer INT into the send parcel.
      s16: Write the UTF-16 string STR into the send parcel.
    

    有了这个,我发现索引列在设备'framework.jar中的com.android.internal.telephony.ITelephony中 .

    因此,要从设备中获取所需的索引,您需要从命令提示符运行以下命令:

    • here下载jadx

    • ADB拉设备framework.jar(adb pull /system/framework/framework.jar)

    • 用7-Zip打开.jar文件并解压缩* .dex文件 .

    • 用jadx-gui打开每个.dex文件,直到找到包含以下树的文件:com.android.internal.telephony.ITelephony

    • 搜索项目TRANSACTION_setSimPowerStateForSlot . 注意它后面的= x;这是索引号 .

    现在您有了索引号,您可以在adb shell(或Tasker,带有"run shell"函数)中测试以下命令 . You will need to "su" in shell, or set Tasker to "Use Root" .

    service call phone x i32 y i32 z
    
    Where:           
    x = index number you fetched previously,
    y = your subscription ID (generally, SIM1 = 0, SIM2 = 1)
    z = whether on (1) or off (0)
    

    当然,现在您可以在Tasker中执行它,现在可以在特定时间关闭SIM卡 .

    我已经确认它确实关闭了SIM(在执行此命令后立即直接拨打语音邮件),但我不确定这个交换机有什么进一步的影响 .

    请享用!

相关问题