我收到了来自 Google Play 管理中心的警告,提示我这一页 https://support.google.com/faqs/answer/9095419因为我在我的应用程序中使用了 JavaScript 接口,并建议两个选项来解决该问题。
Option 1 tells :
确保没有对象添加到 JavaScript 接口
任何加载不受信任的 Web 内容的 WebView。你可以分两步完成
方法:
确保没有对象添加到 JavaScript 接口
通过调用 addJavascriptInterface。
从 shouldInterceptRequest 中的 JavaScript 接口中删除对象
在加载不受信任的内容之前通过removeJavascriptInterface
Web 视图。
但我不明白谷歌具体说了什么:
从 shouldInterceptRequest 中的 JavaScript 接口中删除对象
在加载不受信任的内容之前通过removeJavascriptInterface
网页视图
有人可以告诉我更多解释吗?
您可以通过以下方式解决此问题:
- 如果您的网站支持 HTTPS,请在 loadUrl 方法中使用“https://”前缀。
- 您可以在清单中将 android:usesCleartextTraffic 设置为 false 或设置不允许 HTTP 流量的网络安全配置。这也意味着您的网站应该在 HTTPS 上运行。
现在,回答你的问题“在WebView加载不受信任的内容之前,通过removeJavascriptInterface从shouldInterceptRequest中的JavaScript接口中删除对象" :这意味着只要 WebView 中加载了任何非 HTTPS URL,您的应用程序就应该删除(或禁用)JavaScriptInterface。
完成上述任何操作后,您需要在 Play 管理中心上更新 APK。
结论是,如果你想使用 JavaScriptInterface,最好在你的网站上使用 HTTPS。如果您使用 HTTP,Google Play 将不允许 JavaScriptInterface。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)