我创建了一个活动。我在清单文件中将启动模式设置为singleTask。我不想要开始相同活动的多个实例。我正在按下另一个活动的按钮来执行此活动。
如果我不止一次点击该按钮,那么当我将活动作为单个任务时,如果活动已经运行,则没有任何反应。但我想重新启动活动而不创建另一个实例。如何实现这一点。
由于 迪帕克
答案 0 :(得分:1)
But I want to relaunch the activity without creating another instance
你的意思是我重新启动而不创造。我认为您可能已经放置了onCreate
中的代码集,并且您希望在活动再次获得控制权时运行。如果是这样,您可以更好地将该代码放入onResume
或onNewIntent
。因为单个任务的onCreate只会执行一次
singleTask
系统在新任务的根目录下创建活动,并将意图路由到该任务。但是,如果活动的实例已存在,系统会通过调用其onNewIntent()方法将意图路由到现有实例,而不是创建新实例。