用户按下后退按钮后检查互联网连接。(Android的警报框)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户按下后退按钮后检查互联网连接。(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 here
if(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;
}
另一答案
在按钮上调用此方法并添加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;
}
以上是关于用户按下后退按钮后检查互联网连接。(Android的警报框)的主要内容,如果未能解决你的问题,请参考以下文章