1,引言 :通過Intent調(diào)用系統(tǒng)瀏覽器
Uri uri=Uri.parse(url);//url為你要連接的地址
Intent intent=new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
2,課程內(nèi)容
a, 將WebView加入到你的應(yīng)用
布局添加
<WebView
android:id="@+id/WebView"
android:layout_width="match_parent"
android:layout_height="match_parent">
</WebView>
b, 使用WebView加載頁面
WebView使用loadUrl()加載頁面
加載web資源: webView.loadUrl("http://www.baidu.com");
加載本地資源:webView.loadUrl("file:///android_asset/xx.html");
本地文件存放在:assets文件中
//使用頁面獲取焦點(diǎn)
webView.requestFocus();
c, 獲取網(wǎng)絡(luò)訪問權(quán)限
應(yīng)用能訪問網(wǎng)絡(luò)的權(quán)限:
<mainfest>
<uses-permission android:name="android.permission.INTERNET"/>
</mainfest>
d, 在WebView中使用Javascript
啟用:Javascript
WebView webView=(WebView)findViewById(R.id.webview);
WebSettings webSettings =webView.getSettings();
webSettings.setJavaScriptEnabled(true);
e, 處理頁面導(dǎo)航
webView.setWebViewClient(new WebViewCient());
f, 后退與前進(jìn)
當(dāng)你的WebView覆蓋了URL加載,它會自動生成歷史訪問記錄,你可以
通過goBack()或goForward()向前或向后訪問已訪問過的站點(diǎn);
@override
public boolean onKeyDown(int keyCode ,KeyEvent event){
if(keyCode==KeyEvent.KEYCODE_BACK){
if(webView.canGoBack()){
webView.goBack();
return true;
}else{
System.exit(0);
}
}
return super.onKeyDown(keyCode,event);
}
g, 判斷頁面加載過程
webView.setWebChromeClient(new WebChromeClient(){
public void onProgressChanged(WebView view,int newProgress){
if(newProgress==100){
//加載完成
}else{
//加載中
}
}
});
h, WebView緩存的運(yùn)用
優(yōu)先使用緩存:
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
不使用緩存:
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);