Android 11-java.lang.IllegalStateException不允许启动服务意图:应用程序位于后台uid UidRecord{}
以下是Android 11上像素设备的崩溃报告 致命异常:java.lang.RuntimeException 无法启动活动组件信息{}:java.lang.IllegalStateException:不允许启动服务意图{}:应用程序位于后台uid UidRecord{} 这是我的代码,上面的异常指向这里Android 11-java.lang.IllegalStateException不允许启动服务意图:应用程序位于后台uid UidRecord{},android,service,Android,Service,以下是Android 11上像素设备的崩溃报告 致命异常:java.lang.RuntimeException 无法启动活动组件信息{}:java.lang.IllegalStateException:不允许启动服务意图{}:应用程序位于后台uid UidRecord{} 这是我的代码,上面的异常指向这里 val stickyService = Intent(this, StickyService::class.java) startService(stickyService) M
val stickyService = Intent(this, StickyService::class.java)
startService(stickyService)
My StickyService类扩展了覆盖以下方法的服务类
public class StickyService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onTaskRemoved(Intent rootIntent) {
**Update value in preferences here**
}}
这只发生在Android 11设备上。Android 11中的谷歌服务实现是否有重大变化?尝试使用前台服务,因为当应用程序被关闭时,后台服务是不允许的>Android 8Android 11中的应用程序可见性发生了变化 如果applicationA正在使用applicationB中的服务,则需要在applicationA的AndroidManifest.xml中声明该服务:
...
所以android将使applicationB对applicationA可见
来源:Android 11中对服务的限制与以前版本相同,要在应用程序位于后台时启动服务,服务应作为前台服务启动,应用程序应显示前台服务的通知,我们如何使用前台服务?需要改变什么?