1
を返します:私はアプリケーションの最初の時間を終了すると確認ダイアログは、これが私のコードではfalseすぐ
index.html:
...
<script type="text/javascript" charset="utf-8" src="main.js"></script>
</head>
<body onload="init();"></body>
...
main.js:
function onBackPressed(e) {
console.log("onBackPressed()");
var answer = confirm("Do you want to exit?");
console.log(answer);
if (answer) {
navigator.app.exitApp();
}
}
function init() {
...
document.addEventListener("backbutton", onBackPressed, false);
...
}
、すべてがOKのようです。 問題は、次回アプリケーションを起動するときに確認ダイアログが直ちにfalseを返し、ダイアログが表示されたままになります。 「OK」をクリックすると、何も起こりません。ここで
はlogcatから出力されます:
04-11 16:16:26.444: D/PhoneGapLog(18356): onBackPressed()
04-11 16:16:26.444: D/PhoneGapLog(18356): file:///android_asset/www/main.js: Line 49 : onBackPressed()
04-11 16:16:26.444: I/Web Console(18356): onBackPressed() at file:///android_asset/www/main.js:49
04-11 16:16:26.584: D/PhoneGapLog(18356): false
04-11 16:16:26.584: D/PhoneGapLog(18356): file:///android_asset/www/main.js: Line 51 : false
04-11 16:16:26.584: I/Web Console(18356): false at file:///android_asset/www/main.js:51
が、これはPhoneGapのか、アンドロイドのバグですか?または私は何か間違っている?
私はAndroid 2.3.6とphonegap 1.4.1(バージョン1.5はバックボタンイベントに問題があります)のNexus Oneを使用しています。
は(onbackpressedどのように表示)を実行する - と、ここを見て:http://stackoverflow.com/a/3212253/295783 – mplungjan
私は= 'onloadイベントを持っていますbodyタグとinit関数の "init()" '私は' document.addEventListener( "backbutton"、onBackPressed、false); 'を持っています。関数onBackPressed()には上記のコードが含まれています。 – Chemik