亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

設置/獲取網絡狀態

標簽:
Android

闲暇无事整理下以前做的小东西

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import android.content.Context;
import android.net.ConnectivityManager;
import android.util.Log;
public class MobileDataSwitch {
/** 移动数据开启和关闭
 * @param context
 * @param enabled=true开启网络    enabled=false关闭网络
 * AndroidMannifest.xml文件里添加访问权限 
 * <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />,  
 * <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />  
 */
public static void setMobileDataStatus(Context context,boolean enabled){
ConnectivityManager conMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
//ConnectivityManager类
Class<?> conMgrClass = null;
//ConnectivityManager类中的字段
Field iConMgrField = null;
//IConnectivityManager类的引用
Object iConMgr = null;
//IConnectivityManager类
Class<?> iConMgrClass = null;
//setMobileDataEnabled方法
Method setMobileDataEnabledMethod = null;
try
{
//取得ConnectivityManager类
conMgrClass = Class.forName(conMgr.getClass().getName());
//取得ConnectivityManager类中的对象Mservice
iConMgrField = conMgrClass.getDeclaredField("mService");
//设置mService可访问
iConMgrField.setAccessible(true);
//取得mService的实例化类IConnectivityManager
iConMgr = iConMgrField.get(conMgr);
//取得IConnectivityManager类
iConMgrClass = Class.forName(iConMgr.getClass().getName());
//取得IConnectivityManager类中的setMobileDataEnabled(boolean)方法
setMobileDataEnabledMethod = iConMgrClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
//设置setMobileDataEnabled方法是否可访问   
setMobileDataEnabledMethod.setAccessible(true);
//调用setMobileDataEnabled方法
setMobileDataEnabledMethod.invoke(iConMgr, enabled);
}
catch(Exception e){
e.printStackTrace();
}
}
/**
 * 获取移动数据开关状态
 * @param context
 * @param getMobileDataEnabled 传入实参"getMobileDataEnabled"
 * @return true打开状态   false关闭状态
 */
@SuppressWarnings({ "rawtypes", "unchecked" })
public static boolean getMobileDataStatus(Context context,String getMobileDataEnabled){
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
Class cmClass = cm.getClass();
Class[] argClasses = null;
Object[] argObject = null;
Boolean isOpen = false;
try{
Method method = cmClass.getMethod(getMobileDataEnabled, argClasses);
isOpen = (Boolean)method.invoke(cm, argObject);
}catch(Exception e){
e.printStackTrace();
}
return isOpen;
}
/**
 * 设置网络  开启/关闭
 * @param mContext
 */
public void getMobileStaute(Context mContext){
boolean statue =getMobileDataStatus(mContext, "getMobileDataEnabled");
boolean statues  = ( statue == true)?false:true;
Log.v("TAG", "statues=="+statues);
setMobileDataStatus(mContext, statues);
}
}

原文链接:http://www.apkbus.com/blog-104595-58834.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消