我想按特定的顺序依次运行两个系统活动。
现在我们知道,startActivity是一个异步操作,所以我不能保持一个特定的顺序。
所以我想也许我应该尝试在中间使用dialogBox,但同时运行dialogBox也是异步的。
现在正如我所说的,我试图运行的活动是系统活动,所以我甚至不能用startActivityForResult启动它们(或者我可以,但我想不出它对我有什么帮助)。
有什么窍门吗?我该如何处理这个问题?
下面是一些代码:
第一个活动:
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);正如你所看到的,我没有任何访问这些活动的权限,我只能从外部的类/活动/服务运行三个意图。
发布于 2010-06-22 08:43:31
您应该能够使用startActivityForResult..该函数的第二个参数是一个惟一的id,您可以使用它来跟踪哪个活动正在结束。
在调用活动的onActivityResult中,检查哪个活动刚刚结束,然后使用另一个对startActivityForResult的调用来启动下一个活动(或者,如果您不关心第二个活动发生了什么,就使用startActivity)。
发布于 2010-06-22 09:03:17
我可能错过了这一点,似乎您应该将启动第二个活动的代码放在完成第一个活动的处理程序中,例如在按下按钮或从ListView中选择一个项目时。更多关于如何终止第一个活动的信息将有所帮助。
https://stackoverflow.com/questions/3085886
复制相似问题