WebView加載網頁
阿新 • • 發佈:2019-01-18
鏈接 client except ges con 退出程序 vpd png led WebView加載網頁
一、新建一個android項目
新建android項目,應用默認配置,其他地方不做修改。
二、修改MainActivity
package cn.qiu.webview; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private WebView webView; private long exitTime = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = new WebView(this); webView.setWebViewClient(new WebViewClient() { //設置在webView點擊打開的新網頁在當前界面顯示,而不跳轉到新的瀏覽器中 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); webView.getSettings().setJavaScriptEnabled(true); //設置WebView屬性,運行執行js腳本 webView.loadUrl("https://www.baidu.com/"); //調用loadUrl方法為WebView加入鏈接 webView.setWebViewClient(new WebViewClient(){ // @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { try{ if(url.startsWith("baiduboxapp://")||url.startsWith("baiduboxlite://")){ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); return true; } }catch (Exception e){ return false; } webView.loadUrl(url); return true; } }); setContentView(webView); //調用Activity提供的setContentView將webView顯示出來 } //我們需要重寫回退按鈕的時間,當用戶點擊回退按鈕: //1.webView.canGoBack()判斷網頁是否能後退,可以則goback() //2.如果不可以連續點擊兩次退出App,否則彈出提示Toast @Override public void onBackPressed() { if (webView.canGoBack()) { webView.goBack(); } else { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { super.onBackPressed(); } } } }
三、運行後的效果
WebView加載網頁