tôi có thể sử dụng chức năng java từ chức năng java script trên điện thoại và android 2.2 nhưng cùng một mã không chạy trên API 17. Tôi nên làm gì để gọi cho người bản xứ mã java trên từ kịch bản java trong API 17.appView.addJavascriptInterface() không hoạt động trên API 17
tôi sử dụng mã này trong file java của tôi
objCustomNativeAccess = new CustomNativeAccess(this, appView);
appView.addJavascriptInterface(objCustomNativeAccess,
"CustomNativeAccess");
super.loadUrl("file:///android_asset/www/index.html");
lớp CustomNativeAccess của tôi là
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;
}
và trong kịch bản java của tôi sử dụng dòng này để gọi chức năng đăng nhập này
var value = window.CustomNativeAccess.login(email,pass);
nên sử dụng này tôi gọi thành công này trên api 2.2 nhưng khi tôi chạy mã này vào api 17 nó cho tôi lỗi
lỗi chưa gặp: Object [đối tượng Object] không có phương pháp 'đăng nhập' tại file: ///android_asset/www/index.html: 81
làm thế nào tôi có thể sử dụng này trên api 17
Người ta có thể sử dụng các nhà xây dựng mà không phải là một vấn đề. – gregory561
không có probs với các nhà xây dựng, nhưng nó không cần thiết tại thời điểm đó và – benka
Tôi có thể xác nhận rằng không có vấn đề với các nhà xây dựng. Các điều kiện là các phương thức phải có chú thích ** @ JavascriptInterface ** và được ** công khai **. – nacho4d