5

オンラインでPhoneGapBuildを使用してアプリケーションをビルドしています。戻るボタンのデフォルトの動作を変更したい

$(document).ready(function(e) {
    document.addEventListener("backbutton", onBackKeyDown, false);
});

function onBackKeyDown(){
    alert('back');
    return false;
}

それは機能していません私は解決策を探しました。しかし、それらはすべてPhoneGapライブラリのJavaコードを変更することを示していますが、これは私の場合ではありません。config.xmlを含む.zip形式でアプリケーションを送信しています。

config.xmlで可能ですか?

4

2 に答える 2

6

まず、@Mejoが指摘したように、私は間違っていました、ありがとう。これが問題の解決策です。

ステップ 1:スクリプトを HTML にインクルードします。PhoneGap Build によって自動的にインクルードされるため、アプリケーションの zip 内に物理的には必要ありません。

<script src="cordova.js"></script>または<script src="phonegap.js"></script>それらのいずれかが正常に動作します。

ステップ 2:これをスクリプトに追加して、デバイスの準備完了呼び出しを取得します。

document.addEventListener("deviceready", onDeviceReady, false);

ステップ 3:イベント リスナー[戻る] ボタンに追加し、その呼び出しにコードを追加します。

function onDeviceReady(){
    document.addEventListener("backbutton", onBackKeyDown, false);
}
function onBackKeyDown(){
    alert('back');
    return false;
}

config.xmlでアプリケーションにminSDKのプリファレンスを設定しないと、まだ動作しません。

ステップ 4:これをconfig.xmlの設定領域に追加します

<preference name="android-minSdkVersion" value="5" />

参考:http ://community.phonegap.com/nitobi/topics/how_to_handle_back_button_in_android

于 2013-01-08T05:44:30.657 に答える
3

そのCordova APIのドキュメントで言われています

通常、 PhoneGap の「deviceready」イベントを受け取ったら、document.addEventListener を使用してイベント リスナーをアタッチします。

したがって、このようにコードを変更してください

document.addEventListener("deviceready", onDeviceReady, false);

// PhoneGap is loaded and it is now safe to make calls PhoneGap methods
function onDeviceReady() {
    // Register the event listener
    document.addEventListener("backbutton", onBackKeyDown, false);
}

// Handle the back button
function onBackKeyDown() {
         //Your backbutton code
}
于 2013-01-08T04:30:07.897 に答える