Android 启动2意图,但不能同时启动

Android 启动2意图,但不能同时启动,android,android-intent,Android,Android Intent,我有一个问题,如果我开始使用 try{ startIntent1(); //Add Contact Intent } finally { startIntent2(); // Contact Picker Intent } 他们一起开始。。。。是否有一种方法可以在我的intent1之后启动intent2?您可以使用处理程序not-put-finally int duration = 1500; // milliseconds new Handler().postDelayed(

我有一个问题,如果我开始使用

try{
    startIntent1(); //Add Contact Intent
} finally {
    startIntent2(); // Contact Picker Intent
}

他们一起开始。。。。是否有一种方法可以在我的intent1之后启动intent2?

您可以使用处理程序not-put-finally

int duration = 1500; // milliseconds
new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        startIntent2();
    }
}, duration);

您可以使用未最终放入的处理程序

int duration = 1500; // milliseconds
new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        startIntent2();
    }
}, duration);

当您在
finally{}
中保留
startinent2()
时,无论是否发生任何异常,这都将触发


如果您想在
startinent1()
之后启动
startinent2()
您可以在
onCreate()
方法
startinent1()
活动中编写
startinent2()
,否则您也可以使用
线程

,就像您在
最后{
无论是否发生任何异常,这都将触发


如果您想在
startinent1()
之后启动
startinent2()
您可以在
onCreate()
中编写
startinent2()
方法的
startinent1()
活动,否则您也可以使用
线程

来实现多个目的,您需要以下几点`

Intent mIntent1 = new Intent(this, Activity1.class);
mIntent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
Intent mIntent2 = new Intent(this, Activity2.class);
Intent[] list = new Intent[2];
list[0] = mIntent1;
list[1] = mIntent2;
startActivities(list);`

最初共享的

对于多个目的,您需要以下内容`

Intent mIntent1 = new Intent(this, Activity1.class);
mIntent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
Intent mIntent2 = new Intent(this, Activity2.class);
Intent[] list = new Intent[2];
list[0] = mIntent1;
list[1] = mIntent2;
startActivities(list);`

最初共享的

感谢您提供的所有解决方案,但我通过使用startActivityOnResult成功地做到了这一点

Intent intent = new Intent(Intent.ACTION_INSERT,
            ContactsContract.Contacts.CONTENT_URI);

        context.startActivityForResult(intent, 6);
然后在ActivityResult上

case 6 :
        ContactPicker cp = new ContactPicker(this);
        cp.doLaunchContactPicker(); //launch the intent for contact picker
        break;

感谢您提供的所有解决方案,但我已通过使用StartActivityResult成功地做到了这一点

Intent intent = new Intent(Intent.ACTION_INSERT,
            ContactsContract.Contacts.CONTENT_URI);

        context.startActivityForResult(intent, 6);
然后在ActivityResult上

case 6 :
        ContactPicker cp = new ContactPicker(this);
        cp.doLaunchContactPicker(); //launch the intent for contact picker
        break;

你可以使用一个线程来启动意图,稍微延迟一点。请详细解释你的意图。你想做什么?你可以使用一个线程来启动意图,稍微延迟一点。解释你的更多信息。你想做什么?所以现在代码中的问题是。。。如果用户在添加联系人时速度慢怎么办?所以当他添加联系人10秒的时候,intent2就会启动?所以现在代码中的问题是。。。如果用户在添加联系人时速度慢怎么办?所以,当他添加10秒的联系人时,intent2将启动?是否有一种方法可以检查意图是否已完成?@RonPelayo您是否希望如果第一个意图的活动应完成,则只应启动第二个意图….?完全正确!:)但我认为startActivityOnResult是我解决问题的最好办法。。谢谢你的邀请suggestion@RonPelayo确实是。。否则,您可以从添加内容活动开始另一个意图,并完成currnet添加内容活动,否则您将使用startActivityOnResult:)你能给我一个关于添加内容活动的例子吗?:)是否有一种方法可以检查意图是否已完成?@RonPelayo您是否希望如果第一个意图的活动已完成,则只应启动第二个意图….?完全正确!:)但我认为startActivityOnResult是我解决问题的最好办法。。谢谢你的邀请suggestion@RonPelayo确实是。。否则,您可以从添加内容活动开始另一个意图,并完成currnet添加内容活动,否则您将使用startActivityOnResult:)你能给我一个关于添加内容活动的例子吗?:)