Android仿UC网络判断效果_ 安卓实现关闭或开启网络数据Demo
2014-10-24 12:35:51  By: dwtedx

在使用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来进行网络的打开关闭操作

仿UC网络判断效果

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的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

DD记账
top
+