不允许Android应用的多个活动实例

时间:2013-02-07 22:31:10

标签: android

我正在尝试为Android创建一个非常简单的应用程序来播放音乐文件(我真的只是刚开始进入Android)。我只有一个Activity在应用程序启动时启动,它开始播放音乐文件。我需要的是活动总是运行(播放音乐),无论你按Back或Home按钮,除非你明确告诉它从设置菜单关闭,如果你再尝试再次运行它,它应该只是恢复该活动在前面(基本上,每个其他球员如何运作)。但是,对我来说,当我按下返回到菜单屏幕,然后再次点击该应用程序时,它会运行另一个活动实例(我可以告诉它,因为音乐会加倍)。我该怎么做才能防止这种情况发生?非常感谢。

2 个答案:

答案 0 :(得分:1)

要在后台播放音乐,我建议您使用service

答案 1 :(得分:0)

在清单文件中指定android:launchMode= "singleInstance"。这意味着您的活动就是整个应用程序。

不要忘记保存音乐时间的状态。当声音结束播放时,使用SharedPreferences保存第二个整数,只需使用onResume()方法恢复状态。

不幸的是,在您按下后退按钮后无法播放音乐,因为活动已被破坏。如果您希望按照其他答案的建议,您必须启动服务。原因是您需要一个Context对象来播放音乐,并且在调用onDestroy()方法后它将不再可用。

http://developer.android.com/guide/topics/media/mediaplayer.html 在这里,您可以找到在服务中播放媒体文件的示例。