Androidのバックボタンが押された際にイベントを拾って何らかの処理をしたい場合、以下のようにしてイベントを登録するのだが、Cordova-1.5では1度しかイベントが発動しなかったので調べてみた。
document.addEventListener("backbutton", function(){ //何か処理を書く }, false);
上のトピックによると、「Cordovaはページがロードされるたびに再初期化が行われるため、回避するには以下のように修正する必要があるらしい。
channel.onNativeReady.subscribe(_self.boot); to channel.onNativeReady.subscribeOnce(_self.boot);
なおこちらはCordova1.5におけるURLのキャッシュ問題とも絡んでいて、何度かリクエストを送信しているとその後リクエストを受け付けてくれなくなるのだが、上記の修正によりキャッシュ問題も解消されるらしい。
https://groups.google.com/forum/#!topic/phonegap/K7XjofJ3D0M/discussion