在android中,设置一个activity在后台运行??

2024-12-02 19:40:14
推荐回答(2个)
回答1:

这个需求违背了task stack的设计,b acticvity返回之后 弹栈就会销毁的 不能继续存在,你可以尝试用别的方法比如线程。
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);并不是设置后台运行,而是设置这个intent启动的activity优先创建一个新的task将这个activity做为该task的root。
如果实在是向要在activity b中按返回的时候回到activity a 同时b不销毁,那就要重写onKeyDown回调来更改返回按钮的行为了,改为启动activity a。但是注意给a 设置 singleTask。
但是不建议这么做,因为即使你要让B在后台运行,你也是要写线程的,所以最好是把要做的任务封装到一个线程里去,然后自己控制。

回答2:

需求违背task
stack设计b
acticvity返
弹栈销毁
能继续存尝试用别比线程
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);并设置台运行设置intent启activity优先创建新taskactivity做该taskroot
实向要activity
b按返候activity
a
同b销毁要重写onKeyDown调更改返按钮行改启activity
a注意给a
设置
singleTask
建议做即使要让B台运行要写线程所要做任务封装线程自控制