首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何切换到正在通过已运行的活动运行的活动

如何切换到正在通过已运行的活动运行的活动
EN

Stack Overflow用户
提问于 2011-09-02 19:01:21
回答 2查看 445关注 0票数 1

我知道有很多关于这方面的讨论,但我不能让它正常工作。

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)

任何帮助都将不胜感激

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-14 18:19:45

更新

我知道这是一个错综复杂的场景。我已经制定了一个有效的解决方案,在启动(B)之后简单地杀死(A)/finish()。现在,

如果我按下Home键并再次打开Android Gallery,我会看到Android Gallery。

如果我按下HOME键并打开A,我会看到B。

如果我从B向后按,我会看到画廊

票数 0
EN

Stack Overflow用户

发布于 2011-09-04 03:10:41

这是基于问题中有限信息的可能推理,假设A在其onCreate()中将意图重定向到B。

1)打开Gallery,选择一张图片,用A打开,重定向到B

代码语言:javascript
运行
复制
Task1 has stack has Gallery, A, B (B on top of the stack)

2)按home键,从启动器中选择A

代码语言:javascript
运行
复制
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)按下主页,打开图库

代码语言:javascript
运行
复制
Task1 is resumed and the top of the stack is now A. Its onRestart(), onStart() and onResume() is invoked.

在这种情况下,您可以尝试从A的onStart()重定向意图,或者不将B作为singleTask。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7282500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档