Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中防止多个意图同时运行_Android_Android Intent - Fatal编程技术网

如何在Android中防止多个意图同时运行

如何在Android中防止多个意图同时运行,android,android-intent,Android,Android Intent,我的代码在for循环中运行多个delete意图: for(PackageModel package: packages){ Uri uri = Uri.fromParts("package", package, null); Intent intent = new Intent(Intent.ACTION_DELETE, uri); startActivityForResult(intent, 1); } 我想在每个意图完成后执行一些代码,因此我调用onActivity

我的代码在for循环中运行多个delete意图:

for(PackageModel package: packages){
    Uri uri = Uri.fromParts("package", package, null);
    Intent intent = new Intent(Intent.ACTION_DELETE, uri);
    startActivityForResult(intent, 1);
}
我想在每个意图完成后执行一些代码,因此我调用onActivityResult:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    // do something ....
}
这段代码似乎工作得很好,除了一件恼人的事情:系统先运行intent,然后再运行corespondent-onActivityResult方法,如下所示:

intent 1
intent 2 
intent 3
....

onActivityResult() 1
onActivityResult() 2
onActivityResult() 3
....
我要做的是运行intent并直接执行其onActivityResult,然后移动到下一个intent,如下所示:

intent 1
onActivityResult() 1

intent 2
onActivityResult() 2

intent 3
onActivityResult() 3

....
我希望这是清楚的,并提前感谢您。

明显的代码省略了

跟踪你的包裹

private List<PackageModel> mListModels; // fill these
结果

onActivityResult(){
    if(mListModels.size > 0){
       deleteModel();
    }
 }

跟踪您正在处理的当前索引,从0开始。启动与当前索引关联的活动。在onActivityResult中,将1添加到当前索引。如果尚未超过数组/ArrayList/whatever的大小,请启动与当前索引关联的活动。
onActivityResult(){
    if(mListModels.size > 0){
       deleteModel();
    }
 }