从HTML5按钮调用Android服务(phonegap)

时间:2013-10-14 16:43:35

标签: android html5 jquery-mobile cordova android-service

我使用jquerymobile,phonegap和html5编写了一个android应用程序,它调用web服务来获取任何更新。让我们称之为“同步”功能。我还计划使用 setInterval(“javascript function”,毫秒); 每15分钟运行一次“同步”。我面临的问题是,由于这是一个HTML5应用程序,“Sync”只有在应用程序位于前台时才会运行。所以我开发了一个android服务,并将“Sync”逻辑移到了java服务层。

现在,我的问题是,用户有一个手动调用“同步”功能的按钮。

我的问题是:“我可以绑定我的HTML按钮来触发或重启我的Android服务”吗?

谢谢

1 个答案:

答案 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]
    );
}}