如何在销毁应用程序时保存媒体播放器数据?

How to save Media Player data on destroy of app?

我目前正在开发音乐播放器应用程序。我想为这个应用程序实现一个功能,比如当应用程序被销毁时,音乐将停止播放我想存储正在播放的音乐的当前位置及其详细信息.

下次当用户返回应用程序时,他们应该会看到并能够从停止的位置继续播放歌曲。这部分不是我能做到的问题

但是如何存储细节。 OnDestroy 方法总是不会被调用。所以我不能写代码来保存这些细节。 onStop 不是此处需要的,因为即使调用了 onStop,我的应用程序仍会置于后台,并且会在后台播放歌曲。

由于与概念有关,我没有发布任何代码。如何实现这个功能?

提前致谢

对于您的用例,我会忽略所有生命周期并在数据更改时保存它。这种方法将在您的应用程序被终止之前存储任何最后状态。所以当你切换你的歌曲/视频时,你会保存你的状态。你的歌曲/视频播放的每一秒都会保存时间戳。

要保存您的值,您只需使用 shared preferences

也就是说:

对于活动 onPause() 将是存储状态的最佳时间,因为activity 之后可以出于各种原因关闭。 (虽然主要是内存)。 对于服务 onDestroy() 是您最好的选择。