如何解决Android 9上的ERR_CLEARTEXT_NOT_PERMITTED,允许使用域明文
在Android 10设备上,我在http服务器上的webview中收到ERR_CLEARTEXT_NOT_PERMITTED错误,但仅在某些页面上,即使我使用network_security_config来允许域。我只能通过使用打开所有域来解决该错误。我该如何解决这个问题,以便只允许我的域,而不会收到错误,但是不使用?
Logcat:
def renameObject():
a = cmds.ls(sl=True)
txt = cmds.textField('txtName',q=True,tx=True)
cmds.rename('a',txt)
cmds.confirmDialog(icn='information',message='Done!')
cmds.showWindow()
return
cmds.window(title='Rename Object')
cmds.columnLayout(adj=1)
cmds.text(label= 'Insert Name',w=300,h=30)
cmds.separator()
cmds.textField('txtName')
cmds.button(label='Rename',width=300,c=lambda*args:'renameObject()')
cmds.showWindow()
网络安全配置xml:
07:54:09.004 com.myserver.myapp D/myapp: Webview.onPageStarted called on http://myserver.com/myapp/index.PHP?view=discrete
07:54:09.232 com.myserver.myapp I/myapp: onPageFinished called.
07:54:15.938 com.myserver.myapp D/myapp: Webview.onPageStarted called on http://myserver.com/myapp/index.PHP?view=about
07:54:15.958 com.myserver.myapp I/myapp: onReceivedError called.
07:54:15.958 com.myserver.myapp I/myapp: Web Load Error:net::ERR_CLEARTEXT_NOT_PERMITTED
07:54:16.012 com.myserver.myapp I/myapp: onPageFinished called.
解决方法
根本原因是投放第三方广告内容(Google Ads)的javascript不使用https。
在onReceivedError中添加了代码,以记录导致问题的URL ...
public void onReceivedError(WebView view,WebResourceRequest request,WebResourceError error) {
super.onReceivedError(view,request,error);
Log.i(TAG,"onReceivedError called for URL "+ request.getUrl().toString());
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。