2012-05-11 7 views
5

Android PhoneGapアプリケーションを手動で一時停止できますか?誰かがボタンをクリックすると、アプリケーションを一時停止して背景​​に移動する必要があります。 navigator.app.exitApp();を使用しましたが、アプリケーションを完全に閉じます。私はネイティブの戻るボタンで行われたように、アンロードするだけでアプリケーションを終了したくありません。助けてください、ありがとう。あなたのJavaScriptでAndroid Phonegapでアプリケーションを手動で一時停止する

+0

あなたは一時停止で何を意味するのですか?多分私があなたが達成しようとしているか分からないアクティビティLifecircleを見てください:) http://developer.android.com/guide/topics/fundamentals/activities.html – yoshi

+0

私は活動を一時停止/停止する必要がありますアプリはforgroundで表示されるべきではありません)、ネイティブの戻るボタンをクリックするとアプリが表示されないようにして、アプリを非表示にします。 –

+1

基本的に誰かがホームボタンを押したのと同じ動作が必要ですか? –

答えて

1

// 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", []); 
     } 
    }; 
}); 

そして:AndroidのネイティブのJavaでは

// 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"); 
     } 
    ); 
} 

homeButton(); 

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; 
    } 

} 

でそれを呼び出します

それが動作する、と私のレポの一部です:https://github.com/teusinkorg/jpHolo/

+0

ありがとう、それは魔法のように動作します –

3

ここでは、手動でJavaコードを編集する必要はありませんので、ヨラムTeusinkの回答に似ていますが、より簡単なソリューションだ - ちょうどにプラグインをインストールしますphonegap/cordova CLI。

プラグインの1つの機能:goHome()。これを呼び出すと、ホームボタンを押すのと同じように、アプリケーションは一時停止します。

使用法:

navigator.Backbutton.goHome(function() { 
    console.log('success - the app will now pause') 
}, function() { 
    console.log('fail') 
}); 

インストール:

PhoneGapのローカルプラグインここでhttps://github.com/mohamed-salah/phonegap-backbutton-plugin.git

を追加githubのページです:

https://github.com/mohamed-salah/phonegap-backbutton-plugin.git

関連する問題