我有一个使用Internet连接的应用程序但是当没有可用的Internet连接时,应用程序停止响应。任何人都可以帮助我如何解决这个问题。我认为我可以在没有可用的互联网连接时显示错误,但我不知道如何做到这一点。
答案 0 :(得分:5)
所需的许可是:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
检查每个请求的互联网连接
public boolean isOnline() {
NetworkInfo netInfo = connectivityManager.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
使用上述方法
if(isOnline()) {
//Write code of request
} else {
showDialog("Internet connection error", "Connection is not available.")
}
显示对话框方法
private void showDialog(String title, String text) {
// Access denied. Show dialogue to user
AlertDialog.Builder alertbox = new AlertDialog.Builder(YOUR_ACTIVITY.this);
alertbox.setTitle(title);
alertbox.setIcon(android.R.drawable.ic_dialog_info);
alertbox.setMessage(text);
alertbox.setNeutralButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
//finish(); //DO nothing
}
});
alertbox.show();
}
已修改 : 将YOUR_ACTIVITY.this替换为您正在使用此代码的活动名称。
答案 1 :(得分:1)
您可以显示AlertDialog以向用户显示没有互联网连接。如果您的应用程序无法连接,在点击AlertDialog中的取消按钮后,您可以完成您的活动并关闭应用
答案 2 :(得分:0)
查看我的HTTPclass.java类,我是如何做到的,我有一个方法connect(url),它接受一个url字符串并连接它,如果收到连接,它会响应并提供responseCode = 200
或{ {1}},如果连接没有连接,我会处理一个catch块并设置HTTP.OK
,这意味着它没有连接。
所以,你只能这样做。当responsecode为-1时,您可以显示“Internet Not Connected”的消息。
responseCode = -1