Все привет.
Как переключать activity при отсутствии интернета?
Есть простой webview с ссылкой на сайт.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebViewClient(new MyWebViewClietn());
webView.loadUrl("http://google.com/");
}
}
и есть еще класс TryNetwork
public class TryNetwork {
public static boolean check() {
Runtime localRuntime = Runtime.getRuntime();
boolean bool = false;
try {
int i = localRuntime.exec("/system/bin/ping -c 1 8.8.8.8").waitFor();
if (i == 0) {
bool = true;
}
return bool;
}
catch (InterruptedException localInterruptedException) {
localInterruptedException.printStackTrace();
return false;
}
catch (IOException localIOException) {
localIOException.printStackTrace();
}
return false;
}
}
я знаю как переключать экраны простыми кнопками, но тут возникла потребность сделать переключение автоматическим
google не находит ничего ((
вот второй activity
public class BaseActivity extends AppCompatActivity implements View.OnClickListener {
Button reTry;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_base);
reTry = (Button) findViewById(R.id.reTry);
reTry.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.reTry:
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
break;
default:
break;
}
}
}
и разметка второго activity
Ответ
Создаем класс для проверки соединения
public class NetworkUtils {
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager cm =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = null;
if (cm != null) {
activeNetwork = cm.getActiveNetworkInfo();
}
return activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
}
и далее там где нужно проверить сеть, например, при старте активности в методе onCreate
if (!NetworkUtils.isNetworkAvailable(this)) {
startActivity(new Intent(this, PreferenceActivity.class));
}
Комментариев нет:
Отправить комментарий