求大神帮我看下这个奇怪的问题。。。。

freesky26 2014-04-21 10:40:05
我在webview中,实现 javascript 调用java类方法,代码如下

webView_msg.setVerticalScrollbarOverlay(true);
WebSettings settings = webView_msg.getSettings();
settings.setSupportZoom(true);
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
webView_msg.addJavascriptInterface(new JSInvokeClass(_context), "js2java");

webView_msg.setWebChromeClient(new WebChromeClient());

webView_msg.loadDataWithBaseURL(null, model.txt, "text/html", "utf-8", null);

我用手机连接电脑直接运行,可以实现,但是我将程序打包后,再安装,就不能实现了,请各位大神帮我看一下,谢谢。。。
...全文
214 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
freesky26 2014-04-21
  • 打赏
  • 举报
回复
<a onClick="alert(1111);window.js2java.TestFun();">TEST TEST TESTTESTTESTTESTTEST TEST TEST</a> alert可以执行,但是后面那个方法就不能了
哎,真难 2014-04-21
  • 打赏
  • 举报
回复
你在html里面alert,都不运行么?
freesky26 2014-04-21
  • 打赏
  • 举报
回复
自己顶一个。。。
freesky26 2014-04-21
  • 打赏
  • 举报
回复
不是去读取的js文件,是直接加载的一段html代码 webView_msg.loadDataWithBaseURL(null, model.txt, "text/html", "utf-8", null);
android小于 2014-04-21
  • 打赏
  • 举报
回复
会不会是安装到手机上你读取js文件的位置不对,或者没有这个文件呢。
freesky26 2014-04-21
  • 打赏
  • 举报
回复
没有错误代码,我用手机连接电脑,在eclipse上直接运行,点击webview中的按钮,可以调用java类里面的方法 但是我将程序打包以后,安装apk后,再去点击webview中的按钮,就无法响应java类里面的方法了。。。
哎,真难 2014-04-21
  • 打赏
  • 举报
回复
打包后js效果就没有了?alert一句一句试试吧,这样的情况很少见,,,
  • 打赏
  • 举报
回复
logcat的错误信息是什么?
九_orz 2014-04-21
  • 打赏
  • 举报
回复
lz,你是不是打包混淆过?? 我之前遇到这个问题是因为打包混淆。 android 自带的proguard-project.txt,里面有说明 # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} 你取消上面的屏蔽,并为你的Js接口指定类名,格式如下 -keep public class <Package Name>.ActivityName$JSClassname { public *; }

80,351

社区成员

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

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