Manually pause an application in Android Phonegap

后端 未结 2 575
清歌不尽
清歌不尽 2021-01-03 04:21

Would it be possible to pause an Android PhoneGap application manually? I need to pause the application and go to background when somebody click a button. I used navig

2条回答
  •  轮回少年
    2021-01-03 04:34

    In your Javascript:

    // HomeButton
    cordova.define("cordova/plugin/homebutton", function (require, exports, module) {
        var exec = require("cordova/exec");
        module.exports = {
            show: function (win, fail) {
                exec(win, fail, "HomeButton", "show", []);
            }
        };
    });
    

    And:

    // HomeButton
    function homeButton() {
        var home = cordova.require("cordova/plugin/homebutton");
        home.show(
            function () {
                console.info("PhoneGap Plugin: HomeButton: callback success");
            },
            function () {
                console.error("PhoneGap Plugin: HomeButton: callback error");
            }
        );
    }
    

    In Java on Android Native:

    package org.apache.cordova.plugins;
    
    import org.apache.cordova.api.CallbackContext;
    import org.apache.cordova.api.CordovaPlugin;
    import org.apache.cordova.api.PluginResult;
    import org.json.JSONArray;
    
    import android.content.Intent;
    import android.util.Log;
    
    public class HomeButton extends CordovaPlugin {
    
        public static final String LOG_PROV = "PhoneGapLog";
        public static final String LOG_NAME = "HomeButton Plugin";
    
        @Override
        public boolean execute(String action, JSONArray args, CallbackContext callbackContext) {
            Log.d(LOG_PROV, LOG_NAME + ": Simulated home button.");
            Intent i = new Intent(Intent.ACTION_MAIN);
            i.addCategory(Intent.CATEGORY_HOME);
            this.cordova.startActivityForResult(this, i, 0);
            callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK));
            return true;
        }
    
    }
    

    Call it with:

    homeButton();
    

    It works, and is part of a repo of mine: https://github.com/teusinkorg/jpHolo/

提交回复
热议问题