Cocos2d-x と pf-for-android その6

前回 の Pd の metro から Java で タイミングを受信 → Cocos2d-x でスプライト制御という話からは離れてしまうんですが、ちょっと問題にぶつかったので。

pd-for-android をお使いの方にはお馴染みの処理、

private void start(){
  if(!pdService.isRunning()){
    Intent intent = new Intent(this, AppActivity.class);
    pdService.startAudio(intent, R.drawable.icon,"AppName", "Return to AppName");
  }
}



まぁ、アプリがバックグラウンドになったとき(Cococs2d-x 的にいうと AppDelegate::applicationDidEnterBackground が呼び出されたとき)に、端末のメニューボタンを押すと、アイコンとアプリ名、メッセージが表示されて、その項目をタップするとアプリをフォアグラウンドに戻す、みたいな機能なんですが、Cocos2d-x を使っていると上手く機能しない模様。

なんだか、フォアグランドに戻るときに新規にアプリを起動しているような挙動。=Cocos2d-x で Director::getInstance->end(); を呼ぶと、終了したかに見せかけてアプリの画面が再表示されてしまう。

素人考えで、「じゃ、メニューボタンを押したときに表示させなきゃ良いんじゃね?」で、下の対応。

private void start(){
  if(!pdService.isRunning()){
    pdService.startAudio();
  }
}



もしくは、

private void start(){
if(!pdService.isRunning()){
    PdAudio.startAudio(AppActivity.this);
  }
}



ただし、コンパイル→端末に転送&起動した初回だけ、なぜか症状が直らない。
アプリ動作中に、メニューボタン→ホームボタン→アプリ起動→アプリ終了で、終了したかに見せかけて・・・。
アプリを1回全部終了させてから、アプリ・アイコンをタップして起動すると、症状が出ないんですけどね。

Eclipse から転送→起動のときだけ出る症状だと良いんだけど。

スポンサーサイト

コメント

非公開コメント