用户按下后退按钮后检查互联网连接。(Android的警报框)

一卷旌收千骑虏,万全身出百重围。这篇文章主要讲述用户按下后退按钮后检查互联网连接。(Android的警报框)相关的知识,希望能为你提供帮助。
在我的应用程序中,我在应用程序启动之前检查了Internet连接如果连接不可用,那么如果用户单击“警告”框中的“否”按钮,则会显示一个“是”和“否”按钮的警告框,然后关闭应用程序。
如果用户单击警告框的“是”按钮,则使用以下代码启动“活动”

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context); alertDialogBuilder.setTitle("Info"); alertDialogBuilder.setMessage("Internet connection not available check ur internet connection"); alertDialogBuilder.setPositiveButton("Yes",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub context.startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS)); dialog.cancel(); } }); alertDialogBuilder.setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub System.exit(0); return; } });

我想检查连接上的用户,如果用户在互联网连接上,那么当用户按下后退按钮时它将显示主活动,否则应用已退出。
答案使用NetworkInfo类检查互联网连接。当用户单击“返回”按钮时,请调用此功能。
public boolean checkInternet(){ NetworkInfo network = connectionManager.getActiveNetworkInfo(); if (network == null) return false; if (!network.isConnected()) return false; return true; }

另一答案您可以使用以下功能检查用户是否在线:
public static boolean isOnline(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cm.getActiveNetworkInfo(); if (netInfo != null & & netInfo.isConnectedOrConnecting()) { return true; } return false; }

您还需要将其添加到androidManifest.xml中
< uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

另一答案您需要覆盖onKeyDown并创建自定义对话框来执行此操作。
[编辑1]
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) {// back buton pressed , now you can check connection hereif(isOnline) { // go to main activity } else { System.exit(0); } return true; } return super.onKeyDown(keyCode, event); }public static boolean isOnline(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cm.getActiveNetworkInfo(); if (netInfo != null & & netInfo.isConnectedOrConnecting()) { return true; }return false; }

另一答案【用户按下后退按钮后检查互联网连接。(Android的警报框)】在按钮上调用此方法并添加Internet权限以访问清单中的网络状态。
protected boolean checkConnection(Context mContext) { final NetworkInfo info = ((ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); if (info == null || !info.isConnected()) { return false; } if (info.isRoaming()) { return true; } return true; }


    推荐阅读