- /**
- * 判断当前是否有网络
- * @param context Activity的this
- * @return
- */
- public static boolean CheckNetwork( final Context context) {
- boolean flag = false;
- ConnectivityManager cwjManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
- if (cwjManager.getActiveNetworkInfo() != null)
- flag = cwjManager.getActiveNetworkInfo().isAvailable();
- if (!flag) {
- Builder b = new AlertDialog.Builder(context).setTitle(context.getResources().getString(R.string.connectionError)).setMessage(context.getString(R.string.openConnectionHint));
- b.setPositiveButton(context.getResources().getString(R.string.ensure), new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
- Intent mIntent = new Intent("/");
- ComponentName comp = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");
- mIntent.setComponent(comp);
- mIntent.setAction("android.intent.action.VIEW");
- context.startActivity(mIntent);
- }
- }).setNeutralButton(context.getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
- dialog.cancel();
- }
- }).create();
- b.show();
- }
- return flag;
- }
如果拟开发一个网络应用的程序,首先考虑是否接入网络,在Android手机中判断是否联网可以通过ConnectivityManager 类的isAvailable()方法判断,首先获取网络通讯类的实例 ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); ,使用cwjManager.getActiveNetworkInfo().isAvailable(); 来返回是否有效,如果为True则表示当前Android手机已经联网,可能是WiFi或GPRS、HSDPA等等,具体的可以通过ConnectivityManager 类的getActiveNetworkInfo() 方法判断详细的接入方式,需要注意的是有关调用需要加入<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 这个权限,android开发网提醒大家在真机上Market和Browser程序都使用了这个方法,来判断是否继续,同时在一些网络超时的时候也可以检查下网络连接是否存在,以免浪费手机上的电力资源