我正在尝试为 Android 创建一个非常简单的应用程序,它将播放音乐文件(我真的才刚刚开始进入 Android)。我只有一个 Activity 在应用程序启动时启动,它开始播放音乐文件。我需要的是该活动始终运行(播放音乐),无论您按后退还是主页按钮,除非您明确告诉它从“设置”菜单中关闭,如果您尝试再次运行它,它应该只是恢复该活动到前面(基本上,其他所有玩家的工作方式)。但是,对我来说,当我按下返回以返回菜单屏幕并再次单击该应用程序时,它会运行另一个活动实例(我可以说,因为音乐加倍)。我能做些什么来防止这种情况发生?非常感谢。
问问题
579 次
2 回答
1
对于在后台播放音乐,我建议您使用服务。
于 2013-02-07T22:36:10.327 回答
0
android:launchMode= "singleInstance"
在清单文件中指定。这意味着您的活动是您的整个应用程序。
不要忘记保存音乐时间的状态。用于SharedPreferences
在声音结束播放时保存一个整数和秒,并在onResume()
方法中恢复状态。
不幸的是,当活动被破坏时,您按下后退按钮后无法播放音乐。如果您希望按照其他答案的建议这样做,则必须启动服务。onDestroy()
原因是您需要一个 Context 对象来播放音乐,并且在调用方法后它将不再可用。
http://developer.android.com/guide/topics/media/mediaplayer.html 在这里您可以找到在服务中播放媒体文件的示例。
于 2013-02-07T22:35:11.853 回答