活动由其他应用程序启动,使用现有实例

时间:2012-09-05 05:11:22

标签: android android-intent android-activity instance

我的应用有两个活动MainActivity和ExternEntry。其他应用程序调用ExternEntry作为启动我的应用程序的方式。然后,ExternEntry将在MainActivity上调用startActivity,之前可能已经启动了。我的问题是,如何在后台恢复MainActivity实例?

请注意,这与同一应用程序中的切换活动不同。每次调用ExternEntry时,它是否也会创建一个新堆栈?

我试过

        Intent i = new Intent(this, MainActivity.class);
        i.setAction(Intent.ACTION_MAIN);
        i.addCategory(Intent.CATEGORY_LAUNCHER);
        startActivity(i);

        Intent i = new Intent(this, MainActivity.class);
        i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
        startActivity(i);
在ExternEntry中

,但都创建了一个MainActivity的新实例。

我也尝试将MainActivity设置为'singleTask',但这也不起作用。

1 个答案:

答案 0 :(得分:0)

我认为你应该在android清单文件中声明启动模式。

<activity
        android:name=".name"
        android:launchMode="singleTask"
        >

我希望它会对你有所帮助。