我最近开发了一款Android应用。一切顺利,直到我在我的设备上按主页键。 在我的一个设备(具有更多内存)上,活动恢复正常状态,我的应用程序运行良好。但是在其他设备上,活动会在几秒钟之后终止,当我恢复应用时,它会重新启动我使用默认值(不正确的行为)离开的活动。 如何强制应用程序从主活动重新启动应用程序,而不是使用默认值重新启动此活动?
答案 0 :(得分:0)
尝试为android:alwaysRetainTaskState="true"
中的活动设置Manifest.xml
根据文件
活动所在的任务的状态是否会出现 始终由系统维护 - 如果是,则为“true”,并且为“false” 如果允许系统将任务重置为其初始状态 某些情况。默认值为“false”。这个属性是 仅对任务的根活动有意义;它被忽略了 其他活动。通常,系统会清除任务(删除所有任务) 某些特定的根据活动上面的堆栈中的活动 用户从主屏幕重新选择该任务的情况。 通常,如果用户未访问任务,则执行此操作 一定的时间,比如30分钟。
但是,当此属性为“true”时,用户将始终返回 这个任务处于最后状态,无论他们如何到达那里。这是 例如,在像Web浏览器这样的应用程序中很有用 用户会有很多状态(例如多个打开的选项卡) 不喜欢失去。
了解更多参考资料click here
答案 1 :(得分:0)
最后我得到了答案:
我们必须在onCreate()的主要活动中设置一个全局静态变量,并在我们离开应用程序的活动中将该变量重置为null时完成!
答案 2 :(得分:-1)
如果你使用android:clearTaskOnLaunch =“true”,将清除完整的backstack。 您的应用程序将从头开始重新启动,这意味着应用程序主要活动将启动,如果您不存储数据,您将最终得到默认值。