美文网首页
Android9移动数据开关开启关闭方法

Android9移动数据开关开启关闭方法

作者: 中v中 | 来源:发表于2022-05-06 22:42 被阅读0次

    本文奉上一个Android移动数据开关开启关闭方法,闲话少说,直接上代码。

    
       public static void setDataEnabled(int slotIdx, boolean enable,Context context) throws Exception
       {
           try {
               int subid = SubscriptionManager.from(context).getActiveSubscriptionInfoForSimSlotIndex(slotIdx).getSubscriptionId();
               TelephonyManager telephonyService = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
               Method setDataEnabled = telephonyService.getClass().getDeclaredMethod("setDataEnabled", int.class, boolean.class);
               if (null != setDataEnabled) {
                   setDataEnabled.invoke(telephonyService, subid, enable);
                   LogUtil.LOGD(TAG,"setDataEnabled suc",false);
               }
           }catch (Exception e)
           {
               e.printStackTrace();
               LogUtil.LOGD(TAG,"setDataEnabled exception",false);
           }
       }
        
       public static boolean getDataEnabled(int slotIdx,Context context) throws Exception
       {
           boolean enabled = false;
           try {
               int subid = SubscriptionManager.from(context).getActiveSubscriptionInfoForSimSlotIndex(slotIdx).getSubscriptionId();
               TelephonyManager telephonyService = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
               Method getDataEnabled = telephonyService.getClass().getDeclaredMethod("getDataEnabled", int.class);
               if (null != getDataEnabled) {
                   enabled =  (Boolean) getDataEnabled.invoke(telephonyService, subid);
               }
           }catch (Exception e)
           {
               e.printStackTrace();
           }
        
           return enabled;
       }
    

    另外,控制移动数据开关需要一个系统权限

    
    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"></uses-permission>
    

    获取这个系统权限需要app为系统应用,把app放在/system/priv-app或者对app进行系统签名均可获得系统权限。

    相关文章

      网友评论

          本文标题:Android9移动数据开关开启关闭方法

          本文链接:https://www.haomeiwen.com/subject/gkfturtx.html