android - 使 javascript 注入(inject)兼容 api 16

标签 android android-webview

我正在构建一个 Android 应用程序,该应用程序必须与 api 14 及更高版本兼容。我在 javascript 接口(interface)中有 1 个方法。

从 api 17 开始,您必须向方法添加注释,@JavascriptInterface,但该注释不支持向后 api,因为该应用程序是 api 14 的目标,所以我收到了错误。但是如果我不添加注释,则在 Android 4.2 的移动设备中不会触发 javascript。

如果 deviceOs 比 4.2 新,是否可以制作某种 ifdef?

最佳答案

将您的构建目标设置为 API 级别 17。将 android:minSdkVersion 设置为您想要支持的 Android 版本。然后您的代码将编译并且将具有@JavascriptInterface注释。 Lint 会向您指出代码中使用比 android:minSdkVersion 更新的类、方法等的位置,以便您确保正确执行。

或者,将 android:targetSdkVersion 设置为 16 或更低,在这种情况下,不需要 @JavascriptInterface。请参阅http://developer.android.com/guide/webapps/webview.html#BindingJavaScript .

关于android - 使 javascript 注入(inject)兼容 api 16,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16213928/

相关文章:

Android ProgressBar 的样式类似于 SwipeRefreshLayout 中的进度 View

android-layout - Android 平板电脑应用程序中的 ListFragment,不使用全屏?

android - 在 Android 中从 Web View 编辑 Google 文档

android - 在 NPObject 上调用方法时出错!在安卓 2.2

android - 具有自定义形状的 DialogFragment

android - 在 XML 中绘制三角形

android - 具有在线 git 集成的 Ruby 的 Gemfile 等同于 Android 和 Gradle?

android - 在 Android webview 中访问相机功能?

android - 在 Android 的 WebView 中显示 vimeo 视频显示白色空白屏幕

Android:这条警告消息指的是什么? -(网络核心)