您的位置:首页 > 理论基础 > 计算机网络

检查Android网络连接状态

2013-01-15 09:03 274 查看
为了访问网络我们需要 INTERNET 权限
为了检查网络状态我们需要 ACCESS_NETWORK_STATE 权限

AndroidManifest.xml

<</CODE>
uses-permission
android:name
=
"android.permission.INTERNET"
/>


<</CODE>
uses-permission
android:name
=
"android.permission.ACCESS_NETWORK_STATE"
/>
创建一个新的类,名为ConnectionDetector.java

package com.wise.siyuan.net;

import android.content.Context;

import android.net.ConnectivityManager;

import android.net.NetworkInfo;

public class ConnectionDetector {

private Context _context;

public ConnectionDetector(Context context){

this._context = context;

}

public boolean isConnectingToInternet(){

ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);

if (connectivity != null)

{

NetworkInfo[] info = connectivity.getAllNetworkInfo();

if (info != null)

for (int i = 0; i < info.length; i++)

if (info[i].getState() == NetworkInfo.State.CONNECTED)

{

return true;

}

}

return false;

}

}

当你需要在你的应用中检查网络状态时调用isConnectingToInternet()函数,它会返回true或false。

ConnectionDetector cd =
new
ConnectionDetector(getApplicationContext());
Boolean isInternetPresent = cd.isConnectingToInternet();
// true or false
==============================================================================
if (isInternetPresent) {

start();

} else {

//opendatebase();

showDialog("未接入互联网,请设置网络");

}
==============================================================================
private void showDialog(String mess) {

new AlertDialog.Builder(this).setTitle("信息").setMessage(mess)

.setNegativeButton("确定", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();

int currentVersion = android.os.Build.VERSION.SDK_INT;

if (currentVersion > android.os.Build.VERSION_CODES.ECLAIR_MR1) {

Intent startMain = new Intent(Intent.ACTION_MAIN);

startMain.addCategory(Intent.CATEGORY_HOME);

startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(startMain);

System.exit(0);

} else {// android2.1

ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);

am.restartPackage(getPackageName());

}

}

}).show();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: