簡體   English   中英

Webview在模擬器上工作正常,但在設備上工作不正常

[英]Webview works fine on emulator but not on device

我是新來的本地人。 我正在嘗試實現一個混合應用程序,該應用程序僅在Webview中顯示指向我的網站的鏈接並顯示推送通知。 我使用firebase進行通知。 我的應用程序在android模擬器上運行良好,但是當我構建apk並將其安裝在我的應用程序上時,它僅顯示白屏。 我知道該應用程序正在運行,因為我的推送通知系統運行良好。 模擬器和我的手機都裝有Android 9.0。 我正在使用來自react-native的webview,而不是來自react-native-webview的webview,這會給我一個警告,不確定是否相關。

更新:我剛剛檢查過,該應用程序在android 8設備上可以正常運行,在android 9上則無法運行。

以下是我的網絡視圖的代碼

render() {
return (
    <WebView style = {{ width: Dimensions.get('window').width, height: 
    Dimensions.get('window').height }} useWebKit 
    allowUniversalAccessFromFileURLs mixedContentMode = "always" 
    originWhitelist = {['*']} source = {{ uri: 'https://myurl.com/' 
    }} />    
);}
}

使用android 9時我也遇到同樣的問題,但是當我使用此解決方案時,它解決了我的問題

用這個:

在yourProject / android / app / src / main / res / xml /文件夾中創建一個新文件

並將其命名為network_security_config.xml

將此代碼添加到這個新創建的文件中

<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">localhost</domain>
    </domain-config>
     <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config> </network-security-config>

並在AndroidManifest.xml文件中的應用程序標記內

添加這些行

    android:usesCleartextTraffic="true"       
    android:supportsRtl="true"
    android:hardwareAccelerated="true"
    android:networkSecurityConfig="@xml/network_security_config"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM