gpt4 book ai didi

JELLY_BEAN 及以下的 JavascriptInterface 注释

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:13 24 4
gpt4 key购买 nike

正如在 official docs 上明确指出的那样,API 级别 JELLY_BEAN_MR1 及更高级别需要使用 @JavascriptInterface,以便从 webview 端访问 java 函数。

这意味着 Project Build Target 必须指向解析以下导入的 API 17 或更高版本:

import android.webkit.JavascriptInterface;

android 如何为 API 16 及以下版本处理这段代码?我会得到运行时异常还是它会在运行时忽略此导入?

最佳答案

我对这些答案感到非常惊讶……它们并不准确。如果您添加 JavascriptInterface 和另一个注释让 MyAnnotation 到相同的方法(就像我所做的那样),然后尝试访问 MyAnnotation 实例注释,那么您将遇到一个ClassDefNotFoundException 惊喜!

我的解决方案目前似乎可行(已经一年多了),是将注释声明添加到应用程序项目中:

package android.webkit;


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface JavascriptInterface {}

这解决了 2.3.5 上的问题,并且在 4.3、4.4 和 4.2 上仍然有效。

希望这对其他人有帮助!

关于JELLY_BEAN 及以下的 JavascriptInterface 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16380368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com