1. 程式人生 > >日常記錄(1)——Android移動資料開關方法

日常記錄(1)——Android移動資料開關方法

參考連結:

https://blog.csdn.net/mp624183768/article/details/72900064 跳轉移動資料設定介面的方法這裡看來的

https://blog.csdn.net/llj0201/article/details/539918619 可以參考一下反射的具體寫法

https://www.cnblogs.com/genggeng/p/7306566.html 網路連線型別判斷可以參看這裡

(連結搬運工線上搬運)

簡單總結一下,5.0前後要用不同的反射的方法(具體參看上面連結,我就不cv了),但是5.0之後的要有系統許可權,所以我實際使用的時候選擇了跳設定頁

public int getStat() {
   int stat = APN_OFF;
   try{
      NetworkInfo mobileInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
      boolean connect = mobileInfo.isConnected();
      if(connect){
         stat = APN_ON;
      }else{
         stat = APN_OFF;
      }
   }catch(Exception e){
      e.printStackTrace();
   }
   return stat;
}
public void setStat(int stat) {
   if (Build.VERSION.SDK_INT <= 19) {
      ConnectivityManager connectivitymanager = (ConnectivityManager) getContext()
            .getSystemService(Context.CONNECTIVITY_SERVICE);
      if (connectivitymanager != null) {
         try {
            Class<? extends ConnectivityManager> connectClass = connectivitymanager.getClass();
            Method method = connectClass.getMethod("setMobileDataEnabled",
                  Boolean.TYPE);
            method.invoke(connectivitymanager, stat == APN_ON);
         } catch (Exception e) {
            e.printStackTrace();
         }
      }
   } else {
      LauncherApplication.getContext().startActivity(new Intent(Settings.ACTION_DATA_ROAMING_S