@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);
    }



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

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

Войти через центр авторизации
Похожие вопросы
Dialog Москва
от 150 000 до 220 000 руб.
от 90 000 до 160 000 руб.
Stream Москва
от 160 000 руб.
20 марта 2019, в 01:07
1000 руб./за проект
20 марта 2019, в 00:27
2000 руб./за проект
19 марта 2019, в 23:14
6000 руб./за проект