以编程方式将Android活动置于“已停止”状态,而不会销毁它?

时间:2018-04-18 22:11:33

标签: android android-activity activity-lifecycle

我正在Android中创建一个音乐应用程序,其中包含播放音乐的后台服务,以及具有各种片段的Home活动,并且是应用程序的UI。

当我按下手机上的主页按钮时,此应用程序会被置于后台,生命周期方法会被调用到onStop(),其中UI与之断开连接服务为了允​​许后台播放,用户可以继续使用他们的设备并做其他事情。当我回到我的UI活动时,onStart被调用,UI和服务重新连接在一起,让我重新控制音乐。 onStart在前台获取相同的活动它不会创建同一活动的另一个实例

我正在尝试在我的设备上按后退按钮时实现一个功能,因此UI活动可以与主页按钮具有相同的行为,即只需放置UI在后台(onStop)。相反,后退按钮的默认行为是finish(),杀死它调用的当前活动(因此调用onDestroy)。

我能为此做些什么?无法在网上找到任何东西。似乎每个音乐应用都具有这样一个简单的功能(在按下时不会杀死应用程序,只是将其发送到后台)

1 个答案:

答案 0 :(得分:1)

您可以覆盖onBackPressed并将活动任务移回。根据{{​​3}}活动,任务中的顺序也将保持不变:

@Override
public void onBackPressed() {
    this.moveTaskToBack(true);
}