博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 判断网络是否可用
阅读量:2235 次
发布时间:2019-05-09

本文共 2061 字,大约阅读时间需要 6 分钟。

       目前绝大部分的Android App 都需要网络,在没有网络的情况下,很多App的很多功能无法使用甚至不能运行。在Application启动之前需要检查网络是否可用,给用户一些提示去设置网络连接或者弹出对话框告知用户,在缺乏网络支持的情况下,App无法正常启动。今天找到了一个检查网络连接的方法。记录如下:

       1.NetWorkActivity

package com.augmentum.example;import com.example.androidexample.R;import android.app.Activity;import android.content.Context;import android.net.ConnectivityManager;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class NetWorkActivity extends Activity {	private TextView txtView;	private Button btn;	@Override	protected void onCreate(Bundle savedInstanceState) {		// TODO Auto-generated method stub		super.onCreate(savedInstanceState);		setContentView(R.layout.network);				txtView = (TextView)findViewById(R.id.txtNetworkStatus);		btn = (Button)findViewById(R.id.btnCheckNetwork);				btn.setOnClickListener(listener);	}		private OnClickListener listener = new OnClickListener(){		@Override		public void onClick(View view) {			// TODO Auto-generated method stub			if(isNetworkAvailable(NetWorkActivity.this)){				txtView.setText("Network is OK.");			}			else{				txtView.setText("Network is NOT OK.");			}		}	};		private boolean isNetworkAvailable(Context ctx) {		System.out.println("isNetworkAvailable started");		ConnectivityManager connMgr = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);		System.out.println("isNetworkAvailable here");			if(connMgr!=null){			if(connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected() || 					connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnected()){				System.out.println("isNetworkAvailable Ended");					return true;			}		}		System.out.println("isNetworkAvailable Ended");			return false;	 } }

这里面最主要的就是isNetworkAvailable方法,该方法负责检查网络连接是否正常,返回true或者false.

2.页面布局文件network.xml

注意:

1.不要忘记把NetWorkActivity注册到AndroidManifest.xml中。

2.不要忘记添加 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>到AndroidManifest.xml中。

运行效果如下:

这个章节就介绍到这里,欢迎大家继续关注。


你可能感兴趣的文章
word2vec 模型思想和代码实现
查看>>
怎样做情感分析
查看>>
用深度神经网络处理NER命名实体识别问题
查看>>
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>
用 Recursive Neural Networks 得到分析树
查看>>
RNN的高级应用
查看>>
TensorFlow-7-TensorBoard Embedding可视化
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>
特征工程怎么做
查看>>
机器学习算法应用中常用技巧-1
查看>>
决策树的python实现
查看>>
了解 Sklearn 的数据集
查看>>
如何选择优化器 optimizer
查看>>
一文了解强化学习
查看>>
CART 分类与回归树
查看>>
seq2seq 的 keras 实现
查看>>
seq2seq 入门
查看>>
什么是 Dropout
查看>>