首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同步系统活动

同步系统活动
EN

Stack Overflow用户
提问于 2010-06-21 23:14:20
回答 2查看 291关注 0票数 0

我想按特定的顺序依次运行两个系统活动。

现在我们知道,startActivity是一个异步操作,所以我不能保持一个特定的顺序。

所以我想也许我应该尝试在中间使用dialogBox,但同时运行dialogBox也是异步的。

现在正如我所说的,我试图运行的活动是系统活动,所以我甚至不能用startActivityForResult启动它们(或者我可以,但我想不出它对我有什么帮助)。

有什么窍门吗?我该如何处理这个问题?

下面是一些代码:

第一个活动:

代码语言:javascript
复制
                                         Intent intent = new Intent();
                                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                           intent.setAction(Settings.ACTION_APPLICATION_SETTINGS);
                                           startActivity(intent);   

second activity:

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setDataAndType(Uri.fromFile(tmpPackageFile
            .getAbsoluteFile()),
            "application/vnd.android.package-archive");
    startActivity(intent);

正如你所看到的,我没有任何访问这些活动的权限,我只能从外部的类/活动/服务运行三个意图。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-22 08:43:31

您应该能够使用startActivityForResult..该函数的第二个参数是一个惟一的id,您可以使用它来跟踪哪个活动正在结束。

在调用活动的onActivityResult中,检查哪个活动刚刚结束,然后使用另一个对startActivityForResult的调用来启动下一个活动(或者,如果您不关心第二个活动发生了什么,就使用startActivity)。

票数 0
EN

Stack Overflow用户

发布于 2010-06-22 09:03:17

我可能错过了这一点,似乎您应该将启动第二个活动的代码放在完成第一个活动的处理程序中,例如在按下按钮或从ListView中选择一个项目时。更多关于如何终止第一个活动的信息将有所帮助。

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

https://stackoverflow.com/questions/3085886

复制
相关文章

相似问题

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