Android 如何在后台打开应用程序后保留当前会话

Android 如何在后台打开应用程序后保留当前会话,android,flutter,audio-player,Android,Flutter,Audio Player,我使用flatterrun将我的音乐应用程序安装到手机中,现在我正在测试它。我不喜欢的是,当我按下手机上的“后退”按钮时,应用程序会转到背景(但会继续播放纯音乐)。但当我从后台重新打开它时,整个应用程序会自动重新启动,播放器和应用程序中的每一个更改都会恢复到原始状态(播放停止)。从后台切换应用程序时,是否有办法继续当前会话而不重新启动会话 第二个问题可能会在某个地方得到回答,我只是想知道是否有类似的方法来保存状态并恢复它,即使应用程序完全关闭然后重新启动?Android特别要求您保存状态-因为与

我使用
flatterrun
将我的音乐应用程序安装到手机中,现在我正在测试它。我不喜欢的是,当我按下手机上的“后退”按钮时,应用程序会转到背景(但会继续播放纯音乐)。但当我从后台重新打开它时,整个应用程序会自动重新启动,播放器和应用程序中的每一个更改都会恢复到原始状态(播放停止)。从后台切换应用程序时,是否有办法继续当前会话而不重新启动会话


第二个问题可能会在某个地方得到回答,我只是想知道是否有类似的方法来保存状态并恢复它,即使应用程序完全关闭然后重新启动?

Android特别要求您保存状态-因为与应用程序中组件的交互可能不相关,甚至不需要保存。此外,为了做到这一点,它会做出很多假设


因此,要保留的任何状态更改通常都存储在类似于数据库的
SharedReferences
中。您也可以使用使用
Intent
s传递的状态包,但这些意图通常不会像预期的那样始终保留或传递到您的应用程序中

这有两种选择。您可以使用onSavedStateInstance方法或SQLLite保存活动的当前状态,进度和计时器主要在您的服务中运行,因此您应该能够从那里获取该信息。和基本的东西,如歌曲名称,专辑艺术可以去int-sqllitedb。对于短期恢复,请在SavedStateInstance上使用。对于长期恢复使用SQLITE,是否有关于颤振onSavedStateInstance的文档?谷歌找不到任何东西。也许这会对你有所帮助。这似乎是我第二个问题的一个好答案,谢谢!希望有人能帮我解决第一个问题:)你能给我们分享一下你到目前为止关于问题1的一个片段吗?但是如何避免重新启动播放?