- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一台小米6,支持两张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),但由于我不懂 Java,所以我不知道从哪里开始。我知道 SO here 上已经有一个 Java 解决方案但我不知道它是否有效或如何使其适应 Tasker。
可以找到反编译的MultiSimInfoEditorActivity here .我也拍了a logcat SIM 卡关闭再打开时发生的情况。
非常感谢任何帮助!
最佳答案
我已经解决了这个问题,尽管它可能不适用于所有版本的 Android。我只在运行 MIUI v9、Android build 8.0.0 的 Mi6 上测试过它。 它需要 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 中。
因此,要从您的设备中获取所需的索引,您需要在命令提示符下运行以下命令:
现在您有了索引号,您可以在 adb shell(或 Tasker,使用“run shell”功能)中测试以下命令。 您需要在 shell 中“su”,或将 Tasker 设置为“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 卡(执行此命令后调用会立即转到语音信箱),但我不确定此开关是否会产生任何进一步的影响。
尽情享受吧!
关于android - 通过 adb shell/Tasker 关闭第二个 SIM - 使用 Activity/Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48696898/
我想获取双 SIM 卡手机中两张 SIM 卡的 SIM 卡序列号/ID。有没有办法获取它们?提前致谢。 最佳答案 import java.lang.reflect.Method; im
我知道我们可以使用 TelephonyManager 类检索单个 Sim 卡的信息。但是如何检索有关多张 SIM 卡的信息?比如说,我的手机丢了,有人更换了其中一个插槽中的 SIM 卡。我如何收到包括
我想使用 Python 中的 R 包 fracdiff 和 arfima。我使用 rpy2 作为 导入了这个库 from rpy2.robjects.packages import importr f
这个问题在这里已经有了答案: How to get sim id from iphone (1 个回答) Programmatically get own phone number in iOS
我正在构建一个网络监视器应用程序。在这里,我已成功实现了所有功能,例如跟踪 Wifi 或移动数据的数据使用情况,但我想知道哪个 SIM 卡连接到互联网并使用移动数据。 使用下面的代码,我可以知道我的双
我有一个检测来电的 Android 应用程序,我需要改进这个应用程序以在 duos 移动设备上运行。所以我创建了一个在 list 中注册的广播接收器以进行操作:电话状态已更改,并且在我的 onRece
过去几天我一直在寻找这个,我才知道: “Android开箱即用不支持双卡,是厂商自定义修改,没有公共(public)API控制。” 以下链接中提供了一个解决方案,但它不适用于我的手机三星 Galaxy
我被搜索了有关 NFC SIM 卡的信息,发现 such explanations关于他们在这里和那里: For those who want to use near field communicat
我有一部带 2 张 SIM 卡的 Android 手机,我想检测来电的目标——是 SIM 1 还是 SIM 2。是否可以从通话信息中获取目标号码? 最佳答案 最后我使用这段代码得到了解决方案。希望它对
我有一部带 2 张 SIM 卡的 Android 手机,我想检测来电的目标——是 SIM 1 还是 SIM 2。是否可以从通话信息中获取目标号码? 最佳答案 最后我使用这段代码得到了解决方案。希望它对
我想检查哪个 SIM 卡正在为双卡 android 手机拨出电话。阅读本文 Android : Check whether the phone is dual SIM . 工作起来很有魅力,可以检测
我想在双卡设备中获取两个 sim 号码。 最佳答案 使用 API > 21 需要权限android.Manifest.permission.READ_PHONE_STATE. public class
我尝试为单个 SIM 设备配置 EAP-SIM 并成功连接。现在我想在双 SIM 设备上配置特定的 SIM 卡。 我的观察是在单个 SIM 设备中配置 EAP 时,没有规定指定 SIM 身份。那么如何
如何在具有双 SIM 卡的 Android 中发送短信用于广播而不是 Intent ?如何在android中检测双卡?用户想要选择 sim 卡来发送短信广播。在 android 中设置用于在 andr
我正在开发一个应用程序,我需要知道来电是来自 sim 1 还是 sim 2。在某些设备中,广播接收器会检测到它,但并非所有设备都发生这种检测。 如何检测到 sim 1 或 sim 2 有来电? 最佳答
I searched and read all the questions and answers similar to this question but non is solving my pro
有没有办法以编程方式检查 Android 中的 sim 1 或 sim 2 的移动数据是否处于 Activity 状态? 我还想获得数据处于 Activity 状态的运营商提供商。 情商:sim 1
我想在收到短信时获得 SIM 卡的唯一 ID(line1number 或 simserialnumber...)。它适用于单 SIM 卡。是否可以使用多 SIM 卡? 最佳答案 多 SIM 卡支持仅添
我正在尝试检查我的移动设备是否是双 sim 卡,sim1 是否准备就绪,sim2 是否准备就绪,我已使用 java 反射完成此操作,现在我想知道 sim1 是否正在漫游以及 sim2 是否正在漫游,如
我有双卡 Android 智能手机。我知道 android SDK 不支持双卡双待设备。我想在默认插槽上访问 sim 的 sim 运营商名称。但是当我运行程序时,它给了我一个空字符串。以下是我的代码:
我是一名优秀的程序员,十分优秀!