2

私のUIでは、ボタンクリックリスナーでネットワークの可用性を確認します

NewButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                if(isInternetAvailable)
                {
                Intent intent = new Intent(FeaturedListActivity.this,
                        NewJewelsActivity.class);
                startActivity(intent);
                finish();
                }
                else
                {
                    MyAlertDialog.ShowAlertDialog(FeaturedListActivity.this, "", "Check Network Connection.", "OK");    
                }
            }
        });

次のコードを使用してネットワークの可用性を確認します

public boolean isNetworkAvailable() {
          ConnectivityManager connectivityManager= (ConnectivityManager) getSystemService(getApplicationContext().CONNECTIVITY_SERVICE);
            NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
            return activeNetworkInfo != null;

今私の問題は、wifiがオフの状態でアプリを起動すると、状態が機能し、「ネットワーク接続の確認」ダイアログが表示されることです。そして今、私は電話の中央のボタンを押してwifiをオンにし、離れた場所から画面に戻ります.今、wifiはオンの状態で、まだ「ネットワーク接続を確認してください」と表示されています.アプリを再起動すると、ダイアログが表示されません。どうすれば解決できますか?

}
4

2 に答える 2

3

ネットワーク状態の変化についてアプリに通知するには、ブロードキャストレシーバーを使用する必要があります。

于 2012-10-08T08:34:15.693 に答える
1

ユーザーが[OK]ボタンをクリックしたら、ダイアログを閉じて、[ワイヤレスとネットワークの設定]画面に移動する必要があります。を実行する必要があります。startActivityForResultユーザーがアプリケーションに再度onActivityResult()アクセスすると、コードを処理できる場所で呼び出されます。ここで、onActivityResult()インターネットが存在するかどうかを再度確認し、存在しない場合は、トーストを表示するだけです。ボタンをクリックすると、を使用してワイヤレス設定画面を直接開始できます

 startActivityForResult(new Intent(Settings.ACTION_WIRELESS_SETTINGS),0);
于 2012-10-08T08:33:58.797 に答える