sono in grado di utilizzare la funzione java dalla mia funzione di script java phonegap e Android 2.2 ma lo stesso codice non viene eseguito su API 17. Cosa devo fare per chiamare nativo codice Java sul da java script in API 17.appView.addJavascriptInterface() non funziona su API 17
ho utilizzare questo codice nel mio file java
objCustomNativeAccess = new CustomNativeAccess(this, appView);
appView.addJavascriptInterface(objCustomNativeAccess,
"CustomNativeAccess");
super.loadUrl("file:///android_asset/www/index.html");
mia classe 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;
}
e nel mio script java io uso questa linea per chiamare questa funzione di login
var value = window.CustomNativeAccess.login(email,pass);
in modo da utilizzare questo io chiamo con successo questo su API 2.2, ma quando ho eseguito questo codice su api 17 che mi danno errore
TypeError Uncaught: Object [object Object] non ha un metodo 'login' al di file: ///android_asset/www/index.html: 81
come posso io uso questo su api 17
Uno può usare costruttori che non è un problema. – gregory561
no prob con i costruttori, ma non è necessario a quel punto e – benka
Posso confermare che non vi è alcun problema con il costruttore. Le condizioni sono i metodi devono avere l'annotazione ** @ JavascriptInterface ** ed essere ** public **. – nacho4d