我知道有很多关于这方面的讨论,但我不能让它正常工作。
Activity (A) = singleTop,可以接收android.intent.action.SEND
Activity (B) = singleTask
当我从Android Gallery中选择一张图片并使用(A)打开它时
(A)正在将意图重定向到(B)。
这是正常工作的,如果我按下HOME键并从午餐菜单中选择(A),(B)就会显示在前面。这就是我想要的,用户可以继续使用图片,
现在,如果我按下主页并再次打开Android Gallery,(A)是
onRestart()、OnStart()和onResume()。我看到(A)。
这是我喜欢切换到(B)的问题,因为用户需要完成他正在做的事情。
我看不到这样做的好方法,为什么Android Gallery会恢复(A)?
也许我做错了什么,因为我打开了Android Gallery带给我(A)
任何帮助都将不胜感激
发布于 2011-09-14 18:19:45
更新
我知道这是一个错综复杂的场景。我已经制定了一个有效的解决方案,在启动(B)之后简单地杀死(A)/finish()。现在,
如果我按下Home键并再次打开Android Gallery,我会看到Android Gallery。
如果我按下HOME键并打开A,我会看到B。
如果我从B向后按,我会看到画廊
发布于 2011-09-04 03:10:41
这是基于问题中有限信息的可能推理,假设A在其onCreate()中将意图重定向到B。
1)打开Gallery,选择一张图片,用A打开,重定向到B
Task1 has stack has Gallery, A, B (B on top of the stack)2)按home键,从启动器中选择A
Launcher app creates a new task, new task2's stack has a new instance of activity A, its onCreate() is invoked and intent is redirected to B. B being a singleTask is moved from Task1 to Task2 and its onNewIntent() would be invoked.3)按下主页,打开图库
Task1 is resumed and the top of the stack is now A. Its onRestart(), onStart() and onResume() is invoked.在这种情况下,您可以尝试从A的onStart()重定向意图,或者不将B作为singleTask。
https://stackoverflow.com/questions/7282500
复制相似问题