Нет диалогового окна - PullRequest
       3

Нет диалогового окна

0 голосов
/ 19 октября 2019

У меня есть приложение, которое имеет 2 типа "нет ошибки интернета". Когда вы запускаете приложение, оно видит, есть ли у вас Интернет, и показывает ошибку No Internet, и у меня в моих веб-просмотрах loadURL на пользовательской странице.

Я хочу скрыть веб-сайт веб-просмотра,но с пользовательской страницей это занимает немного времени, и вы можете увидеть ошибку + веб-сайт.

Можно ли что-то сделать для моих нужд?

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View view=inflater.inflate(R.layout. fragment_paginainicio, container, false);
        final WebView mWebView = (WebView) view.findViewById(R.id.webView_websitepage);
        mWebView.loadUrl("https://google.pt");
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.setWebViewClient(new WebViewClient() {

            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {

                mWebView.loadUrl("file:///android_asset/errorpage.html");

            }

        });

Ответы [ 2 ]

0 голосов
/ 19 октября 2019

Это Нет интернет-обнаружения немного сложно. Я немного боролся, пока не узнал:

Могут быть ситуации, когда вы подключены к маршрутизатору или у вас включено соединение для передачи данных, но фактически вы не получаете никаких пакетов обратно. По какой-то причине интернет-провайдер может быть недоступен, или вы не оплатили свой счет, и вас отключили.

Существует простой пример того, как я проверяю, есть ли Интернет или нет.

public boolean isInternetStable() {
    try {
        return new getInternetStabilityStatus().execute().get();
    } catch (InterruptedException e) {
        return false;
    } catch (ExecutionException e) {
        return false;
    }
}
public class getInternetStabilityStatus extends AsyncTask<Void, Void, Boolean> {

    @Override
    protected Boolean doInBackground(Void... params) {
        try {
            InetAddress ipAddr = InetAddress.getByName("google.com"); //You can replace it with your name
            return !ipAddr.equals("");

        } catch (Exception e) {
            return false;
        }
    }

    @Override
    protected void onPostExecute(Boolean result) {
        super.onPostExecute(result);
    }

}
0 голосов
/ 19 октября 2019
You have to check if internet is available. Below code will help in that case. If it is not available you can simple make webview visiblity to gone or do not load anything and show alert dialog for no network 

public static boolean isNetworkAvailable(Context mContext) {

                ConnectivityManager connectivityManager
                        = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
                NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
                return activeNetworkInfo != null && activeNetworkInfo.isConnected();

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