2

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では失敗します。理由を見つける方法について何かアイデアはありますか?

4

1 に答える 1

2

私の問題は自傷行為でした。Settings -> Developer Options -> Appsと呼ばれるオプションがありますdo not keep activities。また、ユーザーが離れるとすぐにすべてのアクティビティが破棄されます。そのため、その素敵なチェックボックスをオフにすると、問題は解決しました。

于 2013-02-01T11:28:11.730 に答える