@lamoshnik

Как закрыть полностью Android приложение при отсутствии интернет соединения автоматический?

Необходимо автоматический закрыть приложение если нет интернета, чтобы избежать ошибку WebView (Страница недоступна)
Что-то у меня не выходит..(

Выкладываю java code:

public class MainActivity extends AppCompatActivity {


    private WebView webView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webView = (WebView) findViewById(R.id.webView);

        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);

        SimpleWebViewClientImpl webViewClient = new SimpleWebViewClientImpl(this);
        webView.setWebViewClient(webViewClient);

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                webView.loadUrl("javascript:window.HtmlViewer.showHTML" +
                        "('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
            }
        });


        webView.loadUrl("https://itcreator.pro/chat/m/");



    }

    class MyJavaScriptInterface {

        private Context ctx;

        MyJavaScriptInterface(Context ctx) {
            this.ctx = ctx;
        }

        public void showHTML(String html) {
            new AlertDialog.Builder(ctx).setTitle("HTML").setMessage(html)
                    .setPositiveButton(android.R.string.ok, null).setCancelable(false).create().show();

        }

    }


    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && this.webView.canGoBack()) {
            this.webView.goBack();
            return true;
        }

        return super.onKeyDown(keyCode, event);
    }



}
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 4
@Dmtm
Android
вместо того чтобы закрывать приложение не лучше ли предварительно проверять есть ли интернет?
до попытки загрузить что-то
Ответ написан
zagayevskiy
@zagayevskiy
Android developer at Yandex
Что за ересь? Ты сам бы стал пользоваться приложением, которое в произвольный момент времени молча закрывается?
Можно следить за интернетом и что всё прогрузилось, и если нет, то показывать пользователю понятное сообщение об этом. Закрыть(возможно, навсегда) такое приложение полностью пользователь осилит сам.
Ответ написан
@garastard
Абсолютно не юзерФрендли.
Нельзя так делать.
Лучше подписаться на стэйт "есть интернет\нет интернета" и, в случае отсутствия оного, уведомить пользователь о том, что без интернетиков ваше приложение становится ему абсолютно бесполезным. По средствам тоста\попапа\алертДайлога
Ответ написан
@peacemakerv
Разработка под Android
onReceivedError
onReceivedHttpError
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы