API Level 24中的前台服务 - Android 7.0 Nougat

时间:2018-04-29 15:27:21

标签: android service android-api-levels

我的问题是针对API LEVEL 24 - Android 7.0 Nougat。 我正在尝试找到最合适和未来的方式来启动粘性前台服务。 总结一下: - 按下按钮后,需要从活动开始服务 - A(粘性 - 这将由通知标志处理)通知将被创建

在API级别26中,我们可以调用startForegroundService(service, notification),服务会自动与通知相关联。 但是,在API级别24中,服务以startService(service)启动,并通过调用NotificationManagerCompat的notify方法显示通知。 我们如何让操作系统知道通知与服务有关,因此该服务被视为前台服务,操作系统永远不会自行查杀。

注意:我希望这种实现的原因是为了防范。此服务需要位置更新,从API级别26开始,只有前台服务(带有粘性通知)才能接收实时更新(https://developer.android.com/about/versions/oreo/background-location-limits)。

1 个答案:

答案 0 :(得分:1)

  

我们如何让操作系统知道通知与服务有关,因此该服务被视为前台服务

在服务中致电startForeground(),提供Notification。您还需要在Android 8.0+上执行此操作。

  

操作系统永远不会自行杀死

从未如此。这简直使Android不太可能终止您的流程。