Приемник вещания для проверки результатов подключения к Интернету - PullRequest
1 голос
/ 10 октября 2011

Здравствуйте. Я использую следующий код широковещательного приемника для проверки интернет-соединения.

 public class ConnectionChangeReceiver extends BroadcastReceiver{
    @Override
    public void onReceive( Context context, Intent intent )
    {
        Bundle bundle = intent.getExtras();
        NetworkInfo activeNetInfo = (NetworkInfo) bundle.getParcelable("networkInfo");

        //On Network Re-Availability Display The Screen
        if (activeNetInfo != null && activeNetInfo.isConnectedOrConnecting()) 
        {
            //If URL is not loaded load default URL else Resume  
            if (mWebView.getUrl()==null){
                mWebView.loadUrl( Main.this.getString( R.string.app_url));
            }

        } //Else Show error message
        else
        {
            AlertDialog alertDialog = new AlertDialog.Builder(context).create();
            alertDialog.setTitle(Main.this.getString(R.string.Internet_connectivity_failure_message_title));
            alertDialog.setMessage(Main.this.getString(R.string.Internet_connectivity_failure_message));

            alertDialog.setButton("Ok", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface arg0, int arg1) {}

            });

            alertDialog.show();                 
        }               
    }
} 

Работает нормально, если включен Wi-Fi или мобильная сеть.Однако, когда оба включены, он использует WIFI, как и ожидалось, но результат метода activeNetInfo.isConnectedOrConnecting() колеблется между True и False, поэтому не подключается к Интернету.В чем причина этой проблемы?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...