/**
* 檢查網絡是否可用
*
* @return true可用,false不可用
*/
public static boolean isNetworkValidate(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm.getActiveNetworkInfo() != null
&& cm.getActiveNetworkInfo().isConnected()
&& cm.getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) {
return cm.getActiveNetworkInfo().isAvailable();
}
return false;
}
android系統版本不同,調用系統設置網絡的方法也不同
今日在測試android應用,當未檢測到無線網絡時,提示設置網絡對話框,點擊‘設置’,應用自動退出,後臺提示‘android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.settings/com.android.settings.WirelessSettings}; have you declared this activity in your AndroidManifest.xml?’
Android4.0.4崩潰 Android2.3.3模擬器可以正常運行的。查了很久,原來發現,android4.0以上的系統設置網絡的方式變化了。
//手機系統版本 大於10 就是3.0或以上版本
if(android.os.Build.VERSION.SDK_INT>10){
intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
startActivityForResult( intent , 0);
}else{
intent = new Intent();
ComponentName component = new ComponentName("com.android.settings","com.android.settings.WirelessSettings");
intent.setComponent(component);
intent.setAction("android.intent.action.VIEW");
startActivityForResult( intent , 0);
}