PowerSave Manager停止Exoplayer的后台服务

时间:2019-01-29 11:15:28

标签: android android-service exoplayer background-service foreground-service

我正在遵循here中列出的有关使用Foreground服务的文档。 现在,是这样:

ContextCompat.startForegroundService(mainActivity, new Intent(getContext(), MyService.class));

要从活动中启动服务。

startForeground(NOTIFICATION_ID, notification);  

要在Service类的前台启动服务,然后...

stopForeground(true);

停止服务并删除通知。

问题出在某些设备上,因为我看到运行的Android 8.0.1性能低下。发生的情况是PowerSave Manager(我认为是原因)阻止了所有操作。

我找到的日志(未链接到应用程序,我必须在系统日志中进行搜索)是:

  

2019-01-29 16:44:00.732 11511-11581 / com.macoev.nanana D / com.facebook.FacebookSdk:getGraphApiVersion:v3.2   2019-01-29 16:44:03.126 17579-17579 /? I / PowerSaveService:forceStopThirdApp进程名称:com.macoev.nanana pid:11511,程序包名称:com.macoev.nanana   2019-01-29 16:44:03.128 17579-17579 /? D / PowerSaveService:forceStopPackage确实杀死了进程-com.macoev.nanana   2019-01-29 16:44:03.130 2104-3251 /? I / ActivityManager:从pid 17579强制停止com.macoev.nanana appid = 10249 user = 0:   2019-01-29 16:44:03.130 2104-3251 /? I / ActivityManager:杀死11511:com.macoev.nanana / u0a249(adj 200):停止com.macoev.nanana   2019-01-29 16:44:03.135 2104-3251 /? W / ActivityManager:计划在1000毫秒内重新启动崩溃的服务com.macoev.nanana / .service.KillNotificationService   2019-01-29 16:44:03.136 2104-3251 /? W / ActivityManager:计划在10999毫秒内重新启动崩溃的服务com.macoev.nanana / .service.AudioService   2019-01-29 16:44:03.141 2104-3251 /? I / ActivityManager:强制完成活动ActivityRecord {a1d74d6 u0 com.macoev.nanana / .MainActivity_ t8336}   2019-01-29 16:44:03.146 2104-3251 /? I / ActivityManager:强制停止服务ServiceRecord {87dc9b2 u0 com.macoev.nanana / .service.KillNotificationService}   2019-01-29 16:44:03.159 2406-2406 /? D / StatusBar:onNotification已移除:StatusBarNotification(pkg = com.macoev.nanana user = UserHandle {0} id = 2 tag = null key = 0 | com.macoev.nanana | 2 | null | 10249:Notification(channel = NaNaNa Channel pri = 2 contentView =无效振动=无效声音=无效默认值= 0x0标志= 0x72颜色= 0xffef5323类别=服务操作= 3 vis = PUBLIC))   2019-01-29 16:44:03.169 2406-2406 /? D / StatusBar:removeNotification键= 0 | com.macoev.nanana | 2 | null | 10249 old = StatusBarNotification(pkg = com.macoev.nanana user = UserHandle {0} id = 2 tag = Null key = 0 | com.macoev .nanana | 2 | null | 10249:通知(频道= NaNaNa频道pri = 2 contentView =无效振动=无效声音=无效默认值= 0x0标志= 0x72颜色= 0xffef5323类别=服务操作= 3 vis = PUBLIC))   2019-01-29 16:44:03.250 2104-5518 /? I / PowerSave:addHistoryWakeLocks packageName:com.macoev.nanana,标签:com.macoev.nanana:ExoPlayer

应用程序的pkg为

  

ccom.macoev.nanana

我不明白如何避免PowerSave管理器在此处停止所有操作。 我也尝试通过添加

    final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, BuildConfig.APPLICATION_ID + ":PARTIAL_WAKE_LOCK_TAG"); 
    wakeLock.acquire();

无结果。 任何帮助将不胜感激。 预先感谢!

0 个答案:

没有答案
相关问题