在我的创建通知图标的应用中,点击此图标会启动主要活动。
如果用户从应用程序通过主页按钮退出然后单击通知图标,则应用程序有2个活动实例,如果他单击后退按钮,则会关闭可见实例并加载相同活动的第二个实例。该效果对应用程序而言并不好。
我通过将Main活动设置为singleTask来部分解决了问题。
从我的角度来看,最好的解决方案是,如果点击通知图标,系统会加载应用程序的现有实例而不创建新实例。
感谢您的帮助!
答案 0 :(得分:1)
系统加载现有实例:
在您从堆栈中恢复活动的通知中,您需要设置FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
我的意图如下:
Intent notificationIntent = new Intent(context, ActivityToLaunch.class);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
该应用有2个活动实例:
您需要将singletask
设置为您获得2个实例的活动。