我在上一个问题中提出了令人误解的话题,因此我打开了这个新问题,以明确我真正想要的。抱歉给你带来不便。

我想从主要活动中按特定顺序依次运行两个系统(Android)活动。

现在我们知道,startActivity是一个异步操作,因此我无法保持特定顺序。

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

现在,正如我所说的,我尝试运行的活动是Android活动,因此我什至无法使用startActivityForResult启动它们(或者我可以,但是我无法将任何结果返回到我的主(调用)活动中)
有什么技巧可以解决这个问题吗?

一些代码:

第一次活动:

      Intent intent = new Intent();
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      intent.setAction(Settings.ACTION_APPLICATION_SETTINGS);
      startActivity(intent);


第二项活动:

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);


如您所见,我无权访问这些活动,我只能从我的主要活动中运行他们的意图。

最佳答案

由于您不能同时运行2个活动,因此请先启动第一个活动,然后在第一个活动返回后再开始第二个活动。

跟踪此事件的一种方法是使用startActivityForResult方法,它应允许您控制创建活动的顺序。

10-06 03:31