- 为了访问网络我们需要 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();
}