gpt4 book ai didi

android - "Battery saver"功能终止我的音乐服务

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:42:43 27 4
gpt4 key购买 nike

我正在为 Android 开发一个音乐流媒体应用。

在这个应用程序中,我有一个 Service 负责播放来自 HTTP 服务器的音频。在播放之前,我确保 startForeground() 并获取部分 WakeLock,这样我的服务就不会被终止。我还得到了一个 WifiLock,以防万一。

该服务运行良好...只要我的手机未处于“省电模式”即可。在我打开省电模式并断开手机与电源的那一刻,我的服务就被烧毁了!

不幸的是,它甚至似乎没有调用 onDestroy(),所以我从 startForeground() 发出的通知仍然可见,即使服务已死。

手机是三星 Galaxy S6,Android 6.0.1。

两个问题:

  1. 有没有一种方法可以让我在省电的情况下保持服务正常运行?
  2. 如果没有,我想至少知道我的服务何时终止,以便我可以进行一些清理(删除通知和内部内容)。

有什么建议吗?

最佳答案

这可以通过在单独的进程中使用持有部分唤醒锁的前台服务来实现。

android:process="process_name"

(文档:http://developer.android.com/guide/topics/manifest/service-element.html)

请注意,您不应使用 SharedPreferences在多进程环境中。

另见本期:https://code.google.com/p/android/issues/detail?id=193802

关于android - "Battery saver"功能终止我的音乐服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36263882/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com