本文共 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中。
运行效果如下:
这个章节就介绍到这里,欢迎大家继续关注。