我是新来的本地人。我正在尝试实现一个混合应用程序,该应用程序仅在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/'
}} />
);}
}
答案 0 :(得分:0)
使用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"