我使用jquerymobile,phonegap和html5编写了一个android应用程序,它调用web服务来获取任何更新。让我们称之为“同步”功能。我还计划使用 setInterval(“javascript function”,毫秒); 每15分钟运行一次“同步”。我面临的问题是,由于这是一个HTML5应用程序,“Sync”只有在应用程序位于前台时才会运行。所以我开发了一个android服务,并将“Sync”逻辑移到了java服务层。
现在,我的问题是,用户有一个手动调用“同步”功能的按钮。
我的问题是:“我可以绑定我的HTML按钮来触发或重启我的Android服务”吗?
谢谢
答案 0 :(得分:1)
我设法通过创建自定义phonegap插件来解决这个问题,以便我可以绑定html按钮来启动我的服务。
public class MyJSInterface extends CordovaPlugin {
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if (action.equals("startSync")) {
this.startSync(args.getString(0), args.getString(1));
callbackContext.success();
return true;
}
}}
然后是js代码
window.MyJSInterface = {
startAutoSync: function(username, password, callback) {
cordova.exec(callback, function(err) {
console.log('Failed to execute startSync native code');
},
"MyJSInterface",
"startSync",
[username, password]
);
}}