使用Internet连接查询应用程序

Roc*_*ker 1 android

我有一个使用Internet连接的应用程序但是当没有可用的Internet连接时,应用程序停止响应.任何人都可以帮助我如何解决这个问题.我认为我可以在没有可用的互联网连接时显示错误,但我不知道如何做到这一点.

Pan*_*mar 5

所需的权限是:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
Run Code Online (Sandbox Code Playgroud)

检查每个请求的Internet连接

public boolean isOnline() {
        NetworkInfo netInfo = connectivityManager.getActiveNetworkInfo();
        if (netInfo != null && netInfo.isConnectedOrConnecting()) {
            return true;
        }
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

使用上述方法作为

if(isOnline()) {
   //Write code of request
} else {
   showDialog("Internet connection error", "Connection is not available.")
}
Run Code Online (Sandbox Code Playgroud)

显示对话框方法

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();
    }
Run Code Online (Sandbox Code Playgroud)

已编辑:将YOUR_ACTIVITY.this替换为您正在使用此代码的活动名称.