我正在与Android合作,让网页与我的应用互动。因此,我已经完成了文档和教程,最终提出了this site。在其中,开发人员列出了在您希望WebView可以访问的任何函数之前应该包含@JavascriptInterface
,如果没有它,Jelly Bean将无法识别该函数。
我的问题是,当我把它放入时,我收到一个错误说:
@JavascriptInterface无法解析为类型
没有它,我的代码编译并正常工作,但我希望Jelly Bean兼容。我目前正在使用Android 1.6作为基础,所以它没有@JavascriptInterface
吗?这是Jelly Bean特有的东西,这意味着我必须专门为Jelly Bean制作一个程序吗?任何帮助将不胜感激。这是我完整的界面类:
import android.content.Context;
public class WebAppInterface{
Context mContext;
/** Instantiate the interface and set the context */
WebAppInterface(Context c) {
mContext = c;
}
/** Show a toast from the web page */
//needed for jelly bean
@JavascriptInterface
public void turnOff() {
MyAlarmPopup.turnOff();
}
}
答案 0 :(得分:37)
@JavascriptInterface
在JellyBean中引入。
您需要将项目构建目标设置为API级别17
从Eclipse IDE转到
Project->Properties
。
选择Android并设置目标
APK适用于旧版本的Android。
答案 1 :(得分:20)
答案 2 :(得分:0)
针对Android Studio用户的步骤:
import android.webkit.JavascriptInterface;