以编程方式将 Android 活动置于“已停止”状态,而不破坏它?
Posted
技术标签:
【中文标题】以编程方式将 Android 活动置于“已停止”状态,而不破坏它?【英文标题】:Programmatically put an Android activity in its "Stopped" state, without destroying it? 【发布时间】:2018-09-29 06:56:39 【问题描述】:我正在 android 中创建一个音乐应用程序,其中有一个播放音乐的后台服务,以及一个具有各种片段并且是应用程序 UI 的 Home 活动。
当我按下手机上的主页按钮时,这个应用程序当然会被置于后台,并且生命周期方法被调用到 onStop(),其中 UI 与服务为了允许后台播放,用户可以继续使用他们的设备并做其他事情。当我回到我的 UI Activity 时,onStart 被调用并且 UI 和服务重新连接在一起,让我重新控制音乐。 onStart 让我在前台相同的活动,它不会创建相同活动的另一个实例。
我正在尝试实现一个功能,当我按下设备上的后退按钮时,UI 活动可以具有与主页按钮相同的行为,即简单地放置 UI在后台(onStop)。相反,后退按钮的默认行为是完成(),终止调用它的当前活动(因此调用 onDestroy)。
我能做些什么呢?在网上真的找不到任何东西。似乎每个音乐应用都有这样一个简单的功能(按下时不会杀死应用,而是将其发送到后台)
【问题讨论】:
【参考方案1】:您可以覆盖onBackPressed
并将活动任务移到后面。基于documentationActivity'r在Task中的顺序也将保持不变:
@Override
public void onBackPressed()
this.moveTaskToBack(true);
【讨论】:
这会保持该活动实例的运行吗? (以及其中的所有片段)。我现在就试一试 它应该表现得好像onStop()
被调用
这正是我想要的。谢谢
太棒了!享受编码以上是关于以编程方式将 Android 活动置于“已停止”状态,而不破坏它?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Javascript 以编程方式将 Google Chrome 置于全屏模式?