WebView调用JS代码的问题

weixin_38330488 2017-04-15 03:28:21


本地代码

mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setBackgroundColor(Color.argb(0, 0, 0, 0));
mWebView.getSettings().setDefaultTextEncodingName("utf-8");
mWebView.addJavascriptInterface(new JsInteration() , "jsObj");
mWebView.loadUrl("http://api.meeyou.net/h5/#/about-us");
mWebView.setWebViewClient(new WebViewClient());


public class JsInteration {
@JavascriptInterface
public void toUser() {
finish();
}
}





这是logcat:
04-15 03:19:45.354 29639-29639/com.cttz.obsc I/chromium: [INFO:synchronous_compositor_impl.cc(111)] [SynchronousCompositorImpl::SetClient] [0x0000007f7357ce20]
04-15 03:19:45.357 29639-29639/com.cttz.obsc W/chromium: [WARNING:password_handler.cc(33)] create-->contents = 0x0000007f4fabf800, delegate = 0x0000007f62398420
04-15 03:19:45.357 29639-29639/com.cttz.obsc W/chromium: [WARNING:password_handler.cc(41)] attaching to web_contents
04-15 03:19:45.357 29639-29639/com.cttz.obsc W/AwContents: onDetachedFromWindow called when already detached. Ignoring
04-15 03:19:45.374 29639-29876/com.cttz.obsc I/chromium: [INFO:SkFontConfigParser_android.cpp(301)] [SkFontConfigParser] /system/etc/fonts.xml:104:4: warning: 'DINPro' alias target not found
04-15 03:19:45.375 29639-29876/com.cttz.obsc I/chromium: [INFO:SkFontConfigParser_android.cpp(301)] [SkFontConfigParser] /system/etc/fonts.xml:105:4: warning: 'DINPro' alias target not found
04-15 03:19:45.375 29639-29876/com.cttz.obsc I/chromium: [INFO:SkFontConfigParser_android.cpp(301)] [SkFontConfigParser] /system/etc/fonts.xml:106:4: warning: 'DINPro' alias target not found
04-15 03:19:45.378 29639-29647/com.cttz.obsc I/System: FinalizerDaemon: finalize objects = 449
04-15 03:19:45.391 29639-29666/com.cttz.obsc W/libEGL: [ANDROID_RECORDABLE] format: 1
04-15 03:19:45.402 29639-29639/com.cttz.obsc W/chromium: [WARNING:aw_contents.cc(315)] SP>>> Destroy
04-15 03:19:45.402 29639-29639/com.cttz.obsc I/chromium: [INFO:synchronous_compositor_impl.cc(111)] [SynchronousCompositorImpl::SetClient] [0x0000007f7357c940]
04-15 03:19:45.408 29639-29868/com.cttz.obsc I/chromium: [INFO:mime_util.cc(161)] calling IsSupportedNonImageMimeType
04-15 03:19:45.416 29639-29876/com.cttz.obsc I/chromium: [INFO:SkFontConfigParser_android.cpp(301)] [SkFontConfigParser] /system/etc/fonts.xml:104:4: warning: 'DINPro' alias target not found
04-15 03:19:45.416 29639-29876/com.cttz.obsc I/chromium: [INFO:SkFontConfigParser_android.cpp(301)] [SkFontConfigParser] /system/etc/fonts.xml:105:4: warning: 'DINPro' alias target not found
04-15 03:19:45.416 29639-29876/com.cttz.obsc I/chromium: [INFO:SkFontConfigParser_android.cpp(301)] [SkFontConfigParser] /system/etc/fonts.xml:106:4: warning: 'DINPro' alias target not found
04-15 03:19:45.416 29639-29666/com.cttz.obsc I/[MALI][Gralloc]: [+]r_hnd(0x7f62b3a6c0), client(39), share_fd(115)
04-15 03:19:45.425 29639-29666/com.cttz.obsc I/[MALI][Gralloc]: [+]r_hnd(0x7f59a423c0), client(39), share_fd(114)
04-15 03:19:45.428 29639-29639/com.cttz.obsc I/chromium: [INFO:synchronous_compositor_impl.cc(453)] [RegisterProgressCheckCallback] chromium.skipbeginmainframe=[] enable=[0]
04-15 03:19:45.444 29639-29876/com.cttz.obsc I/chromium: [INFO:mime_util.cc(161)] calling IsSupportedNonImageMimeType
04-15 03:19:45.446 29639-29666/com.cttz.obsc I/[MALI][Gralloc]: [+]r_hnd(0x7f62b399a0), client(39), share_fd(127)
04-15 03:19:45.447 29639-29639/com.cttz.obsc W/BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 29639
04-15 03:19:45.457 29639-29666/com.cttz.obsc I/[MALI][Gralloc]: [-]r_hnd(0x7f517c6240), client(39), share_fd(121)
04-15 03:19:45.458 29639-29666/com.cttz.obsc E/Surface: getSlotFromBufferLocked: unknown buffer: 0x7f517c61a0
04-15 03:19:45.458 29639-29666/com.cttz.obsc I/[MALI][Gralloc]: [-]r_hnd(0x7f517c61a0), client(39), share_fd(124)
04-15 03:19:46.565 29639-29639/com.cttz.obsc I/chromium: [INFO:CONSOLE(13922)] "This browser does not support Web Storage!", source: http://api.meeyou.net/h5/libs/angular/angular/angular.js (13922)
04-15 03:19:47.114 29639-29639/com.cttz.obsc W/BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 29639
04-15 03:19:47.155 29639-29639/com.cttz.obsc W/chromium: [WARNING:password_handler.cc(205)] OnPasswordFormsRendered called
04-15 03:19:47.155 29639-29639/com.cttz.obsc W/chromium: [WARNING:password_handler.cc(207)] OnPasswordFormsRendered IsEnabledSavePassword is false
...全文
778 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
aolphn 2018-09-20
  • 打赏
  • 举报
回复
貌似没人给出一个好的答案,说一下我遇到这个错误的场景,打开www.baidu.com,百度自动访问了另外一个url:baiduboxapp://utils?action=sendIntent&minver=7.4¶ms=%7B%22intent%22%3A%22intent%3A%23Intent%3Baction%3Dcom.baidu.searchbox.action.HOME%3Bpackage%3Dcom.baidu.searchbox%3BS.targetCommand%3D%257B%2522mode%2522%253A%25220%2522%252C%2522intent%2522%253A%2522intent%253A%2523Intent%253Baction%253Dcom.baidu.searchbox.action.HOME%253Bcategory%253Dandroid.intent.category.DEFAULT%253BS.extra_target_tab%253DFeed%253Bend%2522%252C%2522min_v%2522%253A%252216787968%2522%257D%3Bend%22%7D&needlog=1&logargs=%7B%22source%22%3A%221021206d%22%2C%22from%22%3A%22openbox%22%2C%22page%22%3A%22chrome%22%2C%22type%22%3A%22%22%2C%22value%22%3A%22%22%2C%22channel%22%3A%221021206r%22%2C%22extlog%22%3A%22%22%2C%22baiduId%22%3A%2215DF1754549B48B4E3CD0E3C570A34FE%3AFG%3D1%22%2C%22app_now%22%3A%22chrome_1537447239894_4313893467%22%2C%22yyb_pkg%22%3A%22com.baidu.searchbox%22%2C%22idmData%22%3A%7B%7D%2C%22matrix%22%3A%22main%22%7D 报错信息errorCode:10,description:不支持的协议。 啊,很明显,这是什么鬼协议,不是http也不是https,chromium当然不认识了。 呐,解决办法就是把自己APP中webview不支持的url过滤掉就行了。 public boolean shouldOverrideUrlLoading(WebView view, String url) 这个方法中如果不支持当前的url则返回true,true表示拦截url之后自己处理,自己不去加载它即可。
lixuce1234 2017-04-17
  • 打赏
  • 举报
回复
我看着代码是没有问题的,你可以去这个上面看看有详细的介绍http://blog.csdn.net/lixuce1234/article/details/54667908

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧