我在我的 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 的 nexus 7、运行 2.2 的 HTC 愿望/Htc Bravo 上被破坏,但在运行 4.1.2 的我的 Galaxy s3 上失败。关于如何找出原因的任何想法?