Android4.0 升级到Android4.4 webView与javascript 无法通信
报出的错误:如下
07-30 20:47:59.810: I/chromium(18861): [INFO:CONSOLE(12)] "Uncaught TypeError: Object [object Object] has no method 'download'", source: file:///android_asset/common/js/fileManager.js (12)
后台Java中写的是这个
appView.addJavascriptInterface(new PluginFileManager(OnOffLineActivity.this), "FileManager");
js 中找不到对应的方法:
网上解释:
Android4.2 以前WebView 提供了javascript 调用Java代码的方法,会造成很大的安全漏洞。Android官方在API17后,限制javascript代码只能调用声明了@JavascriptInterface 注解的Java方法。
所以你必须要给每个可供js代码调用的Java方法加一个@JavascriptInterface接口。
so: 需要修改:在调用对应的方法上加上注解即可:
@JavascriptInterface
@SuppressLint("SimpleDateFormat")
public void download(String fileUrl, String fileName, String module_name,
可参考
http://www.oschina.net/question/246739_174734
http://blog.csdn.net/cwc455826074/article/details/40616125
相关推荐
在Android 4.4(KitKat)版本中,WebView与JavaScript的交互可能会遇到一些问题,导致功能无法正常工作或出现性能瓶颈。本文将详细讲解如何解决“Android 4.4 WebView JS交互冲突”的问题。 首先,理解WebView与...
在Android 4.4(KitKat)版本中,WebView提供了更加强大的功能,使得Java与JavaScript之间的通信更加便捷。这篇文档将详细探讨如何在Android 4.4的WebView中实现Java调用JavaScript以及JavaScript调用Java。 ### ...
至于Flash全屏播放,通常需要通过JavaScript与WebView交互来实现。Flash内容通常会提供一些API供外部调用,例如全屏功能。因此,我们需要在WebView中启用JavaScript接口,并在Java代码中创建一个方法,该方法会被...
通过对Android 4.0 Browser的源码进行研究,开发者不仅可以学习到Android系统层面的知识,还能掌握浏览器开发的核心技术,这对于创建自己的Android浏览器或者优化现有应用的网络和渲染性能都极具价值。但需要注意,...
在Android开发中,WebView是一个非常重要的...通过这个项目,开发者不仅可以学习到基本的WebView使用,还能掌握JavaScript与Android应用交互的关键技术,这对于开发混合型移动应用或增强现有应用的交互性都极其有用。
接着,可能需要在Java代码中设置WebView的JavaScript接口,以便于JavaScript和Android原生代码之间的通信。此外,可能还需要根据应用的需求,自定义一些行为,比如添加自定义的视频控制器或者处理特定的错误情况。 ...
Android 4.4 WebView使用实例,实现后退、前进、刷新、错误处理等功能。完成项目,可直接eclipse运行。有WebViewClient常用方法注释,WebChromeClient常用方法注释。
在Android 4.4(KitKat)版本中,开发者可能会发现之前用于处理WebView图片自适应的解决方案不再有效。本文将深入探讨这个问题,并提供有效的解决方案。 首先,让我们理解为什么在Android 4.4中,图片自适应可能会...
6. **JavaScript交互**: Android 4.0 Browser支持JavaScript与原生代码的交互,这主要通过WebView的`addJavascriptInterface()`方法实现。开发者可以暴露Java对象给JavaScript,允许在网页中调用原生功能。 7. **...
总结起来,Android的WebView组件为我们提供了一种强大的方式来加载和展示HTML内容,并通过JavaScript与Android原生代码进行交互。这种方式对于开发混合应用或实现特定功能(如登录验证、分享等)非常有用。在实际...
在Android开发中,JavaScript与原生应用的交互是常见的需求,特别是在构建混合应用程序时。Android 4.4(KitKat)引入了一种更强大的机制,名为`WebView`的API,使得Android应用能够与嵌入的JavaScript代码进行无缝...
**二、JavaScript与Android互调的基础** 为了使WebView能够与JavaScript进行交互,我们需要开启JavaScript支持,并使用`addJavascriptInterface()`方法在WebView中暴露一个Java对象,这个对象的成员方法将可供...
综上所述,Android 4.0测试代码涵盖了多个方面,从UI设计到功能实现,从性能优化到用户体验,都需要进行全面的测试以确保应用在新平台上的稳定性和可靠性。通过详细地研究如“android-14_代码.zip”这样的资源,...
在Browser源码中,你可以找到JavaScript与Android平台交互的接口,如调用Android API、处理事件和数据绑定。 4. **UI组件** Android 4.0 Browser的用户界面由多个Android组件构成,如Activity、Fragment、View等。...
在源码中,你会看到WebKit的相关类和接口,如`WebView`,它是Android与WebKit交互的主要桥梁,提供了加载网页、执行JavaScript、处理网页事件等功能。 浏览器源码中的关键部分包括以下几个方面: 1. **Activity和...
本文将深入探讨Android WebView与JavaScript的交互机制,以及如何在实际开发中有效地运用这一特性。 首先,我们需要理解WebView的基本用法。在Android布局XML文件中,可以通过添加`<WebView>`标签创建一个WebView...
接下来,我们要讨论的是如何实现WebView与JavaScript的交互。在iOS中,`UIWebView`提供了两个主要的方法来实现这一功能:`stringByEvaluatingJavaScriptFromString:`和`addScriptMessageHandler:name:`。 1. `...
至于JavaScript交互,WebView提供了多种方法与网页内容进行通信。`addJavascriptInterface`可以让Java对象的方法在JavaScript环境中调用,这对于实现数据传递、控制网页行为等非常有用。例如,我们可以创建一个Java...