Android 由其他应用启动的活动,请使用现有实例
我的应用程序有两个活动MainActivity和Externality。Externality被其他应用程序调用,作为启动我的应用程序的一种方式。Externality随后将调用MainActivity上的startActivity,它可能以前已经启动过。我的问题是,如何在后台恢复MainActivity实例 请注意,这与同一应用程序中的切换活动不同。每次调用Externality时,它是否也会创建一个新堆栈 我试过了Android 由其他应用启动的活动,请使用现有实例,android,android-intent,android-activity,instance,Android,Android Intent,Android Activity,Instance,我的应用程序有两个活动MainActivity和Externality。Externality被其他应用程序调用,作为启动我的应用程序的一种方式。Externality随后将调用MainActivity上的startActivity,它可能以前已经启动过。我的问题是,如何在后台恢复MainActivity实例 请注意,这与同一应用程序中的切换活动不同。每次调用Externality时,它是否也会创建一个新堆栈 我试过了 Intent i = new Intent(this, Ma
Intent i = new Intent(this, MainActivity.class);
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
及
在Externality中,但两者都创建MainActivity的新实例
我还尝试将MainActivity设置为“singleTask”,但也没有成功。我认为您应该在android清单文件中声明启动模式
<activity
android:name=".name"
android:launchMode="singleTask"
>
我希望这会对你有所帮助。我不想这么说,但这显然是个无法解决的问题。它应该根据文档工作,但当我进行实验时,它仍然会创建活动的新实例。singleTask意味着活动将在一个任务中。我试过了,效果很好。
<activity
android:name=".name"
android:launchMode="singleTask"
>