Android打开WIFI或者移动网络
2014-09-20 16:14
639 查看
package com.example.openwifi_mobiledata; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import android.content.Context; import android.net.ConnectivityManager; import android.net.wifi.WifiManager; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.view.View.OnClickListener; /** * 利用反射机制 打开移动网络 * 学习; * http://blog.csdn.net/lfdfhl/article/details/13509729 * * @author andy * */ public class MainActivity extends ActionBarActivity { ConnectivityManager s; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { toggleWiFi(MainActivity.this, true); } }); findViewById(R.id.button2).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { toggleMobileData(MainActivity.this, true); } }); } // 设置是否打开wifi private void toggleWiFi(Context context, boolean enable) { WifiManager wifimanager = (WifiManager) context .getSystemService(Context.WIFI_SERVICE); wifimanager.setWifiEnabled(enable); } private void toggleMobileData(Context context, boolean enable) { ConnectivityManager connManager = (ConnectivityManager) context .getSystemService(CONNECTIVITY_SERVICE); Class<?> connectivitymanagerclass = null; Field connectivitymanagerfield = null; Class<?> iconnectivitymanagerclass = null; Object iconnectivitymanagerobject = null; Method setMobileDataEnabledMethod = null; try { connectivitymanagerclass = Class.forName(connManager.getClass() .getName()); connectivitymanagerfield = connectivitymanagerclass .getDeclaredField("mService"); connectivitymanagerfield.setAccessible(true); iconnectivitymanagerobject = connectivitymanagerfield .get(connManager); iconnectivitymanagerclass = Class .forName(iconnectivitymanagerobject.getClass().getName()); setMobileDataEnabledMethod = iconnectivitymanagerclass .getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE); setMobileDataEnabledMethod.setAccessible(true); setMobileDataEnabledMethod.invoke(iconnectivitymanagerobject, enable); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchFieldException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关文章推荐
- Android打开WIFI或者移动网络的代码实现
- Android打开WIFI或者移动网络的代码实现
- Android打开WIFI或者移动网络的代码实现
- [置顶] Android在代码中打开Wifi、移动网络和GPS
- Android在代码中打开Wifi、移动网络和GPS
- Android在代码中打开Wifi、移动网络和GPS
- Android在代码中打开Wifi、移动网络和GPS
- Android基础_判断WIFI移动网络状态,打开WIFI和移动网路
- 设置打开android开发之快速设置,一键wifi开闭,移动网络开闭,电池设置,飞行模式,………………………………设置打开
- Android在代码中打开Wifi、移动网络和GPS
- Android在代码中打开Wifi、移动网络和GPS
- Android判断网络连接是否可用,WiFi、移动数据是否打开等
- Android在代码中打开Wifi、移动网络和GPS
- Android中判断有无可用网络(是否是3G或者WIFI网络)
- android SDIO error导致wifi无法打开或者连接热点异常的问题
- Android端如何获取手机当前的网络状态,比如wifi还是3G, 还是2G, 电信还是联通,还是移动
- android 中获取网络状态、判断3G、2G、wifi网络、判断wifi是否打开、获取本机地址、获取本机串号IMEI整理
- android判断wifi网络,移动网络质量
- android 如何分辨移动wap网络,3G网络,WIFI网络
- Android 监听 Android中监听系统网络连接打开或者关闭的实现代码