Здравствуйте. Я использую следующий код широковещательного приемника для проверки интернет-соединения.
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
, поэтому не подключается к Интернету.В чем причина этой проблемы?
Спасибо.