Javascript对原生Android的调用在Android 4.2上不工作

Javascript to native Android calls do not work on Android 4.2

本文关键字:Android 工作 调用 原生 Javascript      更新时间:2023-09-26

我有一个Android应用程序,我正在加载一个静态HTML页面。一旦页面被加载,我想注入一些javascript,将从我的javascript接口调用一个方法。

问题是这个调用没有完成(我得到一个错误:"Object has no method…")当运行在Android 4.2.2的设备上。

我知道,为了使这工作的应用程序构建API级别17或更高的方法必须用@JavascriptInterface注释。在这种情况下,它是有效的。我遇到的问题是因为应用程序是为API级别10构建的,我无法访问@JavascriptInterface。

在这一点上,我所能想到的是,如果应用程序是为小于17的API级别构建的。在运行Android 4.2.2的设备上无法运行。

你认为这是真的还是假的?

您可以尝试为API 17构建,但将最低版本设置得更低。比如

我遇到的问题是因为应用程序是为API级别10构建的,我无法访问@JavascriptInterface。

将构建目标更改为API Level 17(例如,在Eclipse中,转到Project> Properties> Android)。将android:minSdkVersion设置为10,Lint会指出你使用API Level 17中存在但API Level 10中不存在的东西的地方。

在这一点上,您将能够使用@JavascriptInterface。根据Lint的投诉,您可能还需要添加一个合适的@TargetApi注释。