Android仿UC网络判断效果_ 安卓实现关闭或开启网络数据Demo
2014-10-24 12:35:51 By: shinyuu
在使用Android连接网络的时候、并不是每次都能连接到网络、在这个时候、我们最好是在程序启动的时候对网络的状态进行一下判断、如果没有网络则进行即时提醒用户进行设置、要判断网络状态、首先需要有相应的权限
下面为权限代码
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
本例子利用BroadcastReceive广播接收器来监听网络状态的变化、然后呼出自定义窗口Activity来进行网络的打开关闭操作
onCreate方法中注册广播接收器并且判断网络状态
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 注册广播接收器Start NetState receiver = new NetState(); IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); this.registerReceiver(receiver, filter); receiver.onReceive(this, null); // 注册广播接收器End setContentView(R.layout.activity_main); text_type = (TextView) findViewById(R.id.text_type); int type = NetWorkUtil.getAPNType(MainActivity.this); if ("-1".equals(type + "")) { text_type.setText("当前网络不可用"); } else if ("2".equals(type + "")) { text_type.setText("当前连接网络为wap网络"); } else if ("3".equals(type + "")) { text_type.setText("当前连接网络为net网络"); } else if ("1".equals(type + "")) { text_type.setText("当前连接网络为WiFi"); } }
onActivityResult方法根据反馈值判断当前网络状态
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // 根据反馈值判断当前网络状态 switch (requestCode) { case 1: String keyStr = data.getStringExtra("key"); if ("-1".equals(keyStr)) { showTips(R.drawable.tips_error, "网络不可用..."); text_type.setText("当前网络不可用"); } else { showTips(R.drawable.tips_smile, "网络已恢复正常..."); if ("1".equals(keyStr)) { text_type.setText("当前连接网络为WiFi"); } else if ("2".equals(keyStr)) { text_type.setText("当前连接网络为wap网络"); } else if ("3".equals(keyStr)) { text_type.setText("当前连接网络为net网络"); } } break; } }
以上就是MainActivity里面如何调用的方法、相信大家在自己的项目中也很方便的引入
下面给大家献上源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1vWiL4 密码: ymph
若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力
想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)
或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)
如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教
为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)
感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛
♂ 萇 、 ♥ 2014-10-30 14:02:11 1 评 | 回复
非常有用呢,多谢博主