我有这个要求发送我的应用程序背景,然后将它带到一些关键捕获意图(而不是来自应用程序启动程序)的前台。那么如何将当前任务发送到后台并将其带到前台呢?
答案 0 :(得分:5)
使用moveTaskToBack()在后台发送活动,如果用户按下后退键仍然在运行。 请参阅:Activity了解如何执行此操作的方式。很简单。
所以为了做到这一点你还需要覆盖onBackPressed()方法或onKeyPressed()并调用此方法如果按下后退按钮(不要忘记在后退按下的方法上返回true,所以android知道你消耗了这个事件并且没有完成活动。)
要返回此活动,您已移至后台,可以发布具有待处理意图的通知以将其重新启动,并自动将活动置于前台。
希望这有帮助。
答案 1 :(得分:0)
要将应用程序发送到后台,您应该从Activity类中调用moveTaskToBack()
。当您的Activity获得新意图时(顺便提一下,您的Activity将会调用onNewIntent()
方法),您的Activity会被系统带入前台(您无需执行任何操作)。
答案 2 :(得分:0)
“背景”是什么意思?在您创建新活动时,活动会相互堆叠,然后使用设备的后退按钮以相反的顺序进行访问。想想push()和pop()方法,它是相同的范例。需要非交互式运行代码的应用程序应该扩展android.app.Service,但要注意你可以对实现服务做一些真正的破坏。恶意流程可能会耗尽电池寿命并降低UI响应能力。
答案 3 :(得分:0)
当按下后退键时,我在moveTaskToBack(true)之后解决了与通知启动有关的新问题的所有问题
添加到清单android:launchMode =" SingleTask" android:clearTaskOnLaunch =" true"在活动xml标记部分