1

インターネットがオフラインのときにダイアログ ボックスを表示したいのですが、これを実行しようとするとエラーが発生します...私のコードは次のとおりです...何が間違っているのか教えていただけますか?

インターネットが有効になっているかどうかを確認するコードは次のとおりです。

if (!isOnline())
    {
        showNoConnectionDialog(getApplicationContext());
        //Toast.makeText(getApplicationContext(), "Internet connection is disabled!", Toast.LENGTH_LONG).show();
    }

このコードは、アプリでダイアログボックスを表示する方法です:

public static void showNoConnectionDialog(Context ctx1) 
{
    final Context ctx = ctx1;
    AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
    builder.setCancelable(true);
    builder.setMessage(R.string.no_connection);
    builder.setTitle(R.string.no_connection_title);
    builder.setPositiveButton(R.string.settings_button_text, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) 
        {
            ctx.startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
        }
    });

    builder.setNegativeButton(R.string.cancel_button_text, new DialogInterface.OnClickListener() 
    {
        public void onClick(DialogInterface dialog, int which) 
        {
            return;
        }
    });

    builder.setOnCancelListener(new DialogInterface.OnCancelListener() 
    {
        public void onCancel(DialogInterface dialog) {
            return;
        }
    });

    builder.show();
}

public boolean isOnline() 
{
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnectedOrConnecting()) 
    {
        return true;
    }
    return false;
}
4

1 に答える 1

1

それは私のために働いた。

これを交換

if (!isOnline())
    {
        showNoConnectionDialog(getApplicationContext()); // Error is here...
        //Toast.makeText(getApplicationContext(), "Internet connection is disabled!", Toast.LENGTH_LONG).show();
    }

if (!isOnline())
    {
        showNoConnectionDialog(this);
        //Toast.makeText(getApplicationContext(), "Internet connection is disabled!", Toast.LENGTH_LONG).show();
    }

楽しみ :)

于 2013-02-27T20:17:59.513 に答える