如何通过Intent重启已存在的Activity

移动开发 码拜 10年前 (2015-07-11) 1423次浏览 0个评论

程序中有个Service会通过Intent去启动一个Activity,在Intent中添加了标志Intent.FLAG_ACTIVITY_NEW_TASK。
但是我通过测试发现,如果不添加该标志,Service无法发送Intent去启动Activity。但是如果附加该标志,会出现一种情况,当Activity曾经被启动过,且未被系统销毁时,此时Service发送该Intent,无论如何都是再启动一个新的个Activity,而原先那个未被销魂的Activity并不会被转到前台。

而我希望是,如果Activity被销毁了,那么启动新的Activity,如果未被销毁,就将原来那个Activity变成前台应用显示出来(即,将原来的Activity移动到Activity栈顶)。这可以怎样去实现呢?

40分

Intent.FLAG_ACTIVITY_NEW_TASK
这个是设置启动模式吧,new task就是启动一个新的task,你去设置别的启动模式,比如single task,你可以研究下启动模式。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明如何通过Intent重启已存在的Activity
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!