我在上一个问题中提出了令人误解的话题,因此我打开了这个新问题,以明确我真正想要的。抱歉给你带来不便。
我想从主要活动中按特定顺序依次运行两个系统(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方法,它应允许您控制创建活动的顺序。