当用户wifi关闭时,我不想在Android应用中显示我的webviews网址

时间:2017-02-02 05:51:28

标签: java android webview

MainActivity.java

package com.example.blackboy.allchannellive;
import android.annotation.TargetApi;
import android.os.Build;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;


public class MainActivity extends AppCompatActivity {

    private WebView webView;

   // private AdView mAdView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);



        // for web view
        webView = (WebView) findViewById(R.id.webView);
        webView.setWebViewClient(new MyWebViewClient());

        String url = "http://shafayetice1.blogspot.com/";
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl(url);
        webView.setWebChromeClient(new WebChromeClient());


    }


    private class MyWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            Log.i("WEB_VIEW_TEST", "error code:" + errorCode);
            super.onReceivedError(view, errorCode, description, failingUrl);

        }
    }


    @RequiresApi(api = Build.VERSION_CODES.HONEYCOMB)
    @Override
    public void onPause() {
        super.onPause();
        webView.onPause();
    }




    @RequiresApi(api = Build.VERSION_CODES.HONEYCOMB)
    @Override
    public void onResume() {
        super.onResume();
        webView.onResume();
    }

    @Override
    public void onBackPressed() {
        if (webView.canGoBack()) {
            webView.goBack();
        } else {
            super.onBackPressed();
        }
    }



}
  

请帮助我。如果没有网络,我可以这样做吗?     只显示互联网不可用。请检查您的WiFi是打开还是关闭   只是这个按摩

     

当net关闭时只显示现在网页不可用

     

url是http://shafayetice1.blogspot.com ............. ##   但我不想表现出来。

3 个答案:

答案 0 :(得分:0)

在清单文件中添加以下权限

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
</uses-permission>

然后在您的活动中添加以下代码

WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if (wifi.isWifiEnabled()){
//do you work , show your webviews url.
 }else{
 //  Show your error message. 
}

答案 1 :(得分:0)

您希望在webview中加载网址之前检查网络连接状态。此链接将帮助您在应用中实现该功能。

http://www.androidhive.info/2012/07/android-detect-internet-connection-status/

答案 2 :(得分:0)

首先在activity_main.xml中创建两个视图。 1. WebView(最初可见) 2.没有互联网连接视图与悲伤的图像或任何其他东西(最初的可见性消失)。

现在首先加载webview之前检查互联网连接

if(internetConnection){
  setWebViewVisibility VISIBLE
 setNointernetConnectionView GONE
  loadWebView();
}else{
 setWebViewVisibility GONE
 setNointernetConnectionView VISIBLE
}