【问题标题】:disable data connection in dual sim android禁用双卡安卓中的数据连接
【发布时间】:2015-07-25 14:19:10
【问题描述】:

我想禁用数据连接,我正在使用此代码。

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 dual-sim data-connections


    【解决方案1】:

    这里要提几点:

    • 在 Android 5.1 之前,没有用于双卡功能的官方 API。因此,似乎没有针对旧设备的通用解决方案。从 5.1 开始提供 API。
    • 正如in this question 指出的那样,您的代码将不再适用于 Android 5+
    • 然而,this answer 为上述两个问题提供了解决方案:setMobileNetworkfromLollipop 方法检查目标是 5 还是 5.1+,如果是 5.1+,它会遍历所有订阅 ID(=sim 卡)以切换数据服务。您也可以将它与您的代码结合起来以针对以前的版本。缺点:它需要 root 访问权限,并且双卡功能仅限于 5.1+。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多