Android 開發學習進程0.19 webview 的使用

Android 中的webview

android 中的webview是能夠在app內部打開HTML等的網頁,沒必要再打開瀏覽器,有兩種實現方法,即webviewclient webChromeclient 兩種方法,若是僅僅是簡單的點擊和靜態界面,直接使用第一種。android

注意事項

一,開啓網絡權限,可能一項沒有設置到最後的結果就是加載不出來,因此咱們須要再manifist文件中設置權限
<uses-permission android:name="android.permission.INTERNET"/>
同時對於9.0以上若是不是https鏈接而是http的話,還要在application中設置以下屬性,由於谷歌不建議在app中打開http的非安全連接。web

android:usesCleartextTraffic="true"     
android:networkSecurityConfig="@xml/newtwork_security_config"

其中 networksecurityconfig文件要在res下建立,測試華爲手機沒有這行webview是沒法訪問的,僅能顯示空白。瀏覽器

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" overridePins="true" />
            <certificates src="user" overridePins="true" />
        </trust-anchors>
    </base-config>
</network-security-config>

2、混合加載問題
在部分web界面,會出現https界面但一部分資源是http,致使部分不能加載,安卓在21之後禁止了混合加載,須要手動開啓,在webview使用websetting類獲取屬性,或者直接getwebsetting方法更改webview的屬性安全

if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP) {
            settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
        }

還有可能的webview界面部分不顯示的問題是沒有打開JavaScript設置,即
settings.setJavaScriptEnabled(true);
最後使用webview的loadurl方法便可加載成功。網絡

相關文章
相關標籤/搜索