0

アプリケーションで Android アプリケーションを開発するために phonegap を使用しています。いくつかの入力テキスト フィールドと送信ボタンがある html5 ページがあります。

ユーザーがテキスト フィールドに値を入力して送信をクリックすると、ajax が呼び出され、ユーザー エクスペリエンスを向上させるために、送信ボタンをクリックした後に div を表示することで、Java スクリプトから進行状況スピナーを表示しています。

MainActivity Java クラス内で、アプリを終了する前に確認ダイアログを表示する onBackPressed メソッドをオーバーライドしました。今私が欲しいのは、html5ページで進行中の進行状況がある場合、進行状況の画像のdivが表示されることを意味します。戻るキーが押されるのをブロックしたいのですが、私の質問は、Javaクラス内でそのdivの可視性をどのように識別できるかです。 div が表示されている場合は Java アクティビティでブロックできます。それ以外の場合は、確認ダイアログを表示してユーザーが終了できるようにします。

電話ギャップに使用できる組み込み機能はありますか、それとも独自に何かをする必要がありますか?

4

1 に答える 1

0

このLink PhoneGapによると、バックキーイベントを処理するAPIがあります。そのため、フラグを表示または非表示 (ブール値) に設定し、それに応じてバックキー イベントを処理する Java スクリプト コードでプライベート フィールドを使用できます。

擬似コードは次のようになります。

 <script type="text/javascript" charset="utf-8">
  var visible = false;
// Call onDeviceReady when Cordova is loaded.
//
// At this point, the document has loaded but cordova-2.6.0.js has not.
// When Cordova is loaded and talking with the native device,
// it will call the event `deviceready`.
//
function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
}
function onBackKeyDown() {
    if(visible) {
     //wait
    } else {
      //finish
    }
}
function showDialog(){
     visible = true;
// your code
}
// Cordova is loaded and it is now safe to make calls Cordova methods
//
function onDeviceReady() {
    document.addEventListener("offline", onOffline, false);
    document.addEventListener("backbutton", onBackKeyDown, false);
}

// Handle the offline event
//
function onOffline() {
}

</script>
于 2013-04-16T19:30:59.320 に答える