android Webview在模拟器上工作正常,但在设备上不工作

6rqinv9w  于 2023-08-01  发布在  Android
关注(0)|答案(2)|浏览(169)

我是一个新的React本土。我正试图实现一个混合应用程序,它只显示一个链接到我的网站内的一个网页视图和显示推送通知。我使用Firebase来通知。我的应用程序在android模拟器上运行良好,但当我构建apk并安装在我的应用程序上时,它只显示白色屏幕。我知道应用程序正在工作,因为我的推送通知系统工作正常。模拟器和我的手机都有Android 9.0。我正在使用react-native的webview,而不是react-native-webview,这给了我一个警告,不确定这是否相关。
更新:我刚刚检查了一下,这个应用程序在android 8设备上运行良好,在android 9上不起作用。
下面是我的WebView的代码

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

字符串

jobtbby3

jobtbby31#

我也有同样的问题,而使用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"

7y4bm7vi

7y4bm7vi2#

android:usesCleartextTraffic="true"

字符串
加上这一行就够了

相关问题