我想禁用数据连接,我正在使用此代码。
ConnectivityManager dataManager;
dataManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
try {
dataMtd = ConnectivityManager.class.getDeclaredMethod("setMobileDataEnabled", boolean.class);
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dataMtd.setAccessible(true);
try {
dataMtd.invoke(dataManager, false);
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这不适用于双卡。所以有人可以帮助我。 如何禁用双卡 android 手机中的数据连接? 以及如何检查手机是否是双 SIM 卡
最佳答案
这里要提几点:
- 在 Android 5.1 之前,没有用于双卡功能的官方 API。因此,似乎没有适用于旧设备的通用解决方案。从 5.1 开始,API 可用。
- 您的代码将不再适用于 Android 5+,正如所指出的 in this question
- 然而,this answer为上述两个要点提供了解决方案:
setMobileNetworkfromLollipop
方法检查目标是 5 还是 5.1+,如果是 5.1+,它循环遍历所有订阅 ID(=sim 卡)以切换数据服务。您可以将它与您的代码结合起来以也针对以前的版本。缺点:它需要 root 访问权限,双卡功能仅限于 5.1+。
关于android - 在双卡 android 中禁用数据连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31627397/