Android(安卓)与 JS 交互数据上限问题【Refusing to load URL as it exceeds 2097152 characters】
16lz
2022-05-16
第一篇android笔记。
Hello,! Hello,Android!Hello , World!
需求:android向H5传输图片,原生获取图片之后,最终转为base64后,通过js桥传送给H5
mWebView.post(new Runnable() { @Override public void run() { mWebView.loadUrl("javascript:jsFunc('" + msg + "')"); }});
问题:有时候图片过大,又想高质量的传送,可能遇到下面这只八哥
LOG:05-23 13:33:33.111 21015-21015/com.not.boring:lose W/chromium: [WARNING:navigator_impl.cc(315)] Refusing to load URL as it exceeds 2097152 characters.
(拒绝加载URL超过2097152个字符。)
资料:https://stackoverflow.com/questions/38066503/android-webview-send-base64-url-to-javascript-refusing-to-load-url-as-it-exceed
修改:
void callJsMethod(final String msg) { // 19级之前用loadUrl if(Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { mWebView.post(new Runnable() { @Override public void run() { mWebView.loadUrl("javascript:jsFunc('" + msg + "')"); } }); }else{ // 19级以后用evaluateJavascript mWebView.post(new Runnable() { @RequiresApi(api = Build.VERSION_CODES.KITKAT) @Override public void run() { mWebView.evaluateJavascript("javascript:jsFunc('" + msg + "')", new ValueCallback() { @Override public void onReceiveValue(String value) { // 如果不需要JS返回数据,该回调方法参数可以写成null } }); // 这么写 /// mWebView.evaluateJavascript("javascript:jsFunc('" + msg + "')", null); } }); } }
更多相关文章
- Android(安卓)图片的帧动画
- android button按键得到焦点和点击后改变背景图片
- Android(安卓)API教程:人脸检测(上)
- android图片轮播+点击跳转广告页面
- android 中给图片加圆角效果
- Android的图片压缩类ThumbnailUtils
- android背景选择器selector用法汇总
- Android中使用Movie显示gif动态图
- Android(安卓)图片的帧动画