DroidGapクラスにjavascriptインターフェースを設定しています。
mc = new MyClass(this, appView);
appView.addJavascriptInterface(mc, "MyCls");
そこからメディアプレーヤーを起動します
public void playAudio(String audioFile){
copyFileToDir(audioFile);
File dest = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC + "/" + audioFile + ".mp3");
Uri r = Uri.fromFile(dest);
Intent viewMediaIntent = new Intent();
viewMediaIntent.setAction(android.content.Intent.ACTION_VIEW);
viewMediaIntent.setDataAndType(r, "audio/*");
viewMediaIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
Intent i = Intent.createChooser(viewMediaIntent, "Play Music");
mGap.startActivity(i);
}
しかし、そうすると、押し戻すとアプリが実行されなくなり、ホーム画面に移動します。keepRunningをtrueに設定しようとしましたが、あまり役に立ちませんでした。
super.setBooleanProperty("keepRunning", true);
別のアクティビティを開始した場合でも、どうすれば実行を継続できますか?
アップデート
今ではもっと奇妙になります。アクティビティは、4.2を実行しているネクサス7、2.2を実行しているHTCdesire / Htc Bravoでは破壊されませんが、4.1.2を実行している私のギャラクシーs3では失敗します。理由を見つける方法について何かアイデアはありますか?