欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

android开关gprs流量,android开关gprs,一、需要权限:

来源: javaer 分享于  点击 14222 次 点评:284

android开关gprs流量,android开关gprs,一、需要权限:


一、需要权限:

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

二、下面代码实现功能、如果gprs已经打开则先关闭再打开、否则直接打开、

    package com.example.gprstoggle;      import java.lang.reflect.Method;      import android.app.Activity;      import android.content.Context;      import android.net.ConnectivityManager;      import android.os.Bundle;      public class MainActivity extends Activity {          private ConnectivityManager mCM;           @Override          protected void onCreate(Bundle savedInstanceState) {              super.onCreate(savedInstanceState);              setContentView(R.layout.activity_main);              init();          }          private void init() {              mCM = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);                gprsSetter();              finish();          }          //打开或关闭GPRS          private boolean gprsEnabled(boolean bEnable)            {                Object[] argObjects = null;                boolean isOpen = this.gprsIsOpenMethod("getMobileDataEnabled");                if(isOpen == !bEnable)                {                    setGprsEnabled("setMobileDataEnabled", bEnable);                }               return isOpen;              }            //打开或关闭GPRS              private boolean gprsSetter()                {                    Object[] argObjects = null;                    boolean isOpen = this.gprsIsOpenMethod("getMobileDataEnabled");                    if(isOpen)                    {                        setGprsEnabled("setMobileDataEnabled", false);                       System.out.println("关闭");                      try {                          Thread.sleep(2000);                      } catch (InterruptedException e) {                          e.printStackTrace();                      }                      setGprsEnabled("setMobileDataEnabled", true);                      System.out.println("开启");                  }else{                      setGprsEnabled("setMobileDataEnabled", true);                      System.out.println("开启");                  }                  return isOpen;                  }           //检测GPRS是否打开             private boolean gprsIsOpenMethod(String methodName)            {                Class cmClass       = mCM.getClass();                Class[] argClasses  = null;                Object[] argObject  = null;                Boolean isOpen = false;                try                {                    Method method = cmClass.getMethod(methodName, argClasses);                    isOpen = (Boolean) method.invoke(mCM, argObject);                } catch (Exception e)                {                    e.printStackTrace();                }                return isOpen;            }            //开启/关闭GPRS             private void setGprsEnabled(String methodName, boolean isEnable)            {                Class cmClass       = mCM.getClass();                Class[] argClasses  = new Class[1];                argClasses[0]       = boolean.class;                try                {                    Method method = cmClass.getMethod(methodName, argClasses);                    method.invoke(mCM, isEnable);                } catch (Exception e)                {                    e.printStackTrace();                }            }        }  
相关栏目:

用户点评