ConnectivityManager判断当前网络连接类型,非WiFi网络流量加载模式
来源:互联网 发布:河北网络集成商 编辑:程序博客网 时间:2024/06/06 19:01
Activity
shezhi1 = (ImageView) slidingMenu.findViewById(R.id.shezhi);shezhi1.setOnClickListener(this); 点击事件@Overridepublic void onClick(View v) { switch (v.getId()) { case R.id.IV: slidingMenu.toggle(); break; case R.id.IV4: Intent intent = new Intent(MainActivity.this,Twoactivity.class); startActivity(intent); break; case R.id.shezhi: String[] strings = {"最佳效果", "较省流量", "极省流量"}; final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("非WiFi下载,请注意"); builder.setNegativeButton("取消",null); int mode = App.appcontext().getSharedPreferences(NetUtils.BAOCUN, Context.MODE_PRIVATE).getInt(NetUtils.KEY, 0); builder.setSingleChoiceItems(strings,mode, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { App.appcontext().getSharedPreferences(NetUtils.BAOCUN,Context.MODE_PRIVATE).edit().putInt(NetUtils.KEY,which).commit(); dialog.dismiss(); } }); builder.create().show(); break; }网络判断IntentFilter filter = new IntentFilter();filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);mConnectivityBroadcastReceiver = new ConnectivityBroadcastReceiver();registerReceiver(mConnectivityBroadcastReceiver, filter);/** * 接受网络状态的改变 */public class ConnectivityBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())) { boolean isMobileConnectivity = true; //如果能走到这,说明网络已经发生变化 ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = manager.getActiveNetworkInfo(); if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) { if (ConnectivityManager.TYPE_WIFI == activeNetworkInfo.getType()) { Toast.makeText(MainActivity.this, "当前wifi模式", Toast.LENGTH_SHORT).show(); isMobileConnectivity = false; //移动网络 } else if (ConnectivityManager.TYPE_MOBILE == activeNetworkInfo.getType()) { Toast.makeText(MainActivity.this, "当前移动网络,请注意", Toast.LENGTH_SHORT).show(); isMobileConnectivity = true; //获得现在的网络状态 是移动网络,去改变我们的访问接口 } else { Toast.makeText(MainActivity.this, "网络不可用,请检查网络", Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(MainActivity.this, "网络不可用,请检查网络", Toast.LENGTH_SHORT).show(); } NetUtils.danli().changeNetState(isMobileConnectivity); } }
App
private static App app;@Overridepublic void onCreate() { super.onCreate(); app = this;}
public static Context appcontext(){ return app;}
Netutils
public class NetUtils { public static final String BAOCUN = "BAOCUN"; private static String TU1="大图显示"; private static String TU2="中图显示"; private static String TU3="小图实现"; private static NetUtils netUtils; public static String KEY="KEY"; private static String MOREN=TU1; private static boolean isMobileConnectivity = true; private NetUtils(){ } //单例模式 public static NetUtils danli(){ if (netUtils==null){ synchronized (NetUtils.class){ if (netUtils==null){ netUtils = new NetUtils(); } } } return netUtils; } public static String moshi(){ if (isMobileConnectivity){ int mode = App.appcontext().getSharedPreferences(BAOCUN, Context.MODE_PRIVATE).getInt(KEY, 0); switch (mode){ case 0: MOREN = TU1; break; case 1: MOREN = TU2; break; case 2: MOREN = TU3; break; } }else { MOREN=TU1; } return MOREN; } public void changeNetState(boolean isMobileConnectivity) { this.isMobileConnectivity = isMobileConnectivity; }}
阅读全文
0 0
- ConnectivityManager判断当前网络连接类型,非WiFi网络流量加载模式
- 网络连接类型 ConnectivityManager
- 用ConnectivityManager判断网络类型
- 判断网络流量WIFI是否连接
- iphone判断当前网络连接类型
- android当前网络连接类型判断
- Android判断网络是否断开(WIFI 状态)--ConnectivityManager
- ConnectivityManager判断网络状态及wifi,数据流量
- 判断当前网络类型(WIFI,2G,3G)
- iphone最牛判断当前手机网络连接类型wifi-2G-3G-4G-5G
- iphone最牛判断当前手机网络连接类型wifi-2G-3G-4G-5G
- 判断是否连接网络,当前网络类型,Gps是否打开
- 非wifi网络用户选择图片加载模式
- Android ConnectivityManager 网络连接
- ConnectivityManager网络连接状态
- Android ConnectivityManager网络连接
- 判断当前网络类型
- 安卓学习之-ConnectivityManager(判断网络连接)
- 负载均衡,反向代理,集群解释
- 如何生成Https请求需要的bks证书
- 解决wordpress wp-conten没有权限的问题
- 最长公共子序列问题(LCS)
- SqlServer批量压缩数据库日志-多数据库批量作业,批量备份还原
- ConnectivityManager判断当前网络连接类型,非WiFi网络流量加载模式
- 包含关键字 jeesite 的文章-1
- Java 内存模型与线程
- IE和DOM事件流的区别
- java设计模式:适配器模式
- El表达式格式化日期
- 编译安装PHP5,并更改apache设置
- GPIO初识
- 白化whitening