2

私のアプリケーションでは、アプリに入る前に、wifi接続を確認し、wifiが有効になっていない場合はユーザーをwifi設定に移動する必要があります。

WifiManager.setWifiEnabled();ユーザーに設定する機会を与えたいので、使いたくありません。

時期尚早に呼び出されたonActivityResult()というリンクを参照しました

また、onActivityResultと設定メニュー

しかし、それは私にとってはうまくいきません。OnActivityResult()とは、[設定]メニューに入るのonResume()とほぼ同時に呼び出されます。

これが私のコードです、

    AlertDialog.Builder alert = new AlertDialog.Builder(this);

    alert.setMessage("You are not currently connected to any network. Please turn on the network connection to continue.")
    alert.setPositiveButton("Settings", new DialogInterface.OnClickListener() 
    {
        @Override
        public void onClick(DialogInterface dialog, int arg1) 
        {
            Intent intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
            startActivityForResult(intent,SETTINGSCODE);
            dialog.cancel();
        }
    });
    alert.show();

onActivityResult()で、設定を変更する前に呼び出されるネットワーク状態を再度確認しています。

どうすればいいですか OnActivityResult()

settings menu?から戻った後にのみ呼び出されます

この問題で私を助けてください..!!

4

1 に答える 1

2

これが私がこの問題を解決した方法です。

同様の質問に対して投稿された回答を参照して、アクション呼び出しの順序が次のようになっているため、 startActivityForResult() を startActivity() に変更しました

  1. startActivityForResult()
  2. onActivityResult()
  3. onCreate() (新しいアクティビティ)
  4. setResult() または finish()

コントロールは、ユーザーが Wi-Fi のオン/オフを切り替えて、後でアプリに戻ることができる設定ページに移動します。:)

于 2013-02-19T10:42:18.117 に答える