appView.addJavascriptInterface() 在 API 17 上不起作用
2022-09-02 03:07:51
我能够从我的phonegap java脚本函数和android 2.2中使用java函数,但相同的代码不在API 17上运行。我应该做些什么来从API 17中的java脚本调用本机java代码。
我在我的java文件中使用此代码
objCustomNativeAccess = new CustomNativeAccess(this, appView);
appView.addJavascriptInterface(objCustomNativeAccess,
"CustomNativeAccess");
super.loadUrl("file:///android_asset/www/index.html");
我的 CustomNativeAccess 类是
public class CustomNativeAccess {
private WebView mAppView;
private DroidGap mGap;
/**
* Constructor
*
* @param gap
* @param view
*/
public CustomNativeAccess(DroidGap gap, WebView view) {
mAppView = view;
mGap = gap;
}
/**
* Get the device phone number
*
* @return
*/
public JSONObject login(String email, String password) {
JSONObject object = new JSONObject();
object.put("Login_Status", login_status);
object.put("date", dateString);
return object;
}
在我的java脚本中,我使用此行来调用此登录函数
var value = window.CustomNativeAccess.login(email,pass);
所以使用这个,我成功地在api 2.2上调用了这个,但是当我在api 17上运行这个代码时,它给了我错误
未捕获的类型错误:对象 [对象对象] 在 file:///android_asset/www/index.html:81 没有方法“登录”
我如何在api 17上使用它