原因:AndroidO或者更高的版本为提高设备性能和安全,系统在某些情况下会限制后台服务的创建,如果强制使用startService(intent) 函数,则该函数将引发一个 IllegalStateException,如下:
05-28 17:49:49.693516  3986  3986 E AndroidRuntime: FATAL EXCEPTION: main
05-28 17:49:49.693516  3986  3986 E AndroidRuntime: Process: packageName,,,,,,,,,,,,,,,,,,,,,,,,, PID: 3986
05-28 17:49:49.693516  3986  3986 E AndroidRuntime: java.lang.RuntimeException: java.lang.IllegalStateException: Not allowed to start service Intent { flg=0x1000000 cmp=packagename/.servicename (has extras) }: app is in background uid UidRecord{52db80 u2357s1000 TRNB bg:+2m42s199ms idle procs:3 seq(0,0,0)}
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at android.app.job.JobServiceEngine$JobHandler.handleMessage(JobServiceEngine.java:112)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:106)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at android.os.Looper.loop(Looper.java:168)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:6555)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime: Caused by: java.lang.IllegalStateException: Not allowed to start service Intent { flg=0x1000000 cmp=packagename/.servicename (has extras) }: app is in background uid UidRecord{52db80 u2357s1000 TRNB bg:+2m42s199ms idle procs:3 seq(0,0,0)}
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1522)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at android.app.ContextImpl.startService(ContextImpl.java:1478)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at android.content.ContextWrapper.startService(ContextWrapper.java:661)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at packageName.ConnectionChangeJobService.onStartJob(ConnectionChangeJobService.java:102)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at android.app.job.JobService$1.onStartJob(JobService.java:71)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     at android.app.job.JobServiceEngine$JobHandler.handleMessage(JobServiceEngine.java:108)
05-28 17:49:49.693516  3986  3986 E AndroidRuntime:     ... 6 more
解决方法:启动服务startService(Intent intent) 函数改用 startForegroundService(Intent intent),服务启动之后 5秒 内要调用startForeground(int id, Notification notification);服务销毁时要调用 stopForeground(int flags);
注意点:

1.startForegroundService(Intent intent),intent 参数必须是显示启动。
2.startForeground(int id, Notification notification),id 不能为0,notification 不能为 null

参考文章:https://blog.csdn.net/sinat_20059415/article/details/80584487

异常:app is in background uid UidRecord/stadid not then call Service.startForeground相关推荐

  1. App如何在background状态下存活

    一般来说,如果不进行后台申请,在iOS系统上,当应用退到后台后,只有5s的时间去执行代码,之后将进入挂起状态.只有像音频播放.定位.newsstand.VoIP等功能才能持续在后台运行.但是开发其它应 ...

  2. Teams升级选项中的后台自动下载安装Teams客户端--Download Teams App in the background

    在升级Skype到Teams的时候会涉及到一个很重要的问题就是部署Teams的客户端,对于大多数企业来说如果有成熟的SCCM, Intune或者第三方的解决方案其实都不是太难,或者有些选择用组策略来部 ...

  3. app消息服务器异常,app服务器异常

    app服务器异常 内容精选 换一换 在使用的MRS集群中查询该弹性云服务器的ID确认没有使用.在ECS控制台中找到需要退订的服务器单击MRS使用中将机器进行解锁.再次单击退订.若依然显示退订异常,请收 ...

  4. 服务器状态显示异常,App常见异常状态

    导语:用户在使用App时,除了正常的使用场景,还会碰到许多特殊场景:页面加载中(请求数据).页面内容为空(缺省页面).网络异常.服务器异常.下拉刷新.下拉加载.版本兼容等.友好地设计产品在特殊场景下的 ...

  5. Android 系统(215)---Android O_GO后台启动服务改动

    Android O_GO后台启动服务改动 Android O_GO后台启动服务改动 1. 问题现象 应用在适配Android O/GO的系统时,会发现后台启动不了服务,会报出如下异常,并强退: jav ...

  6. Android开发中的一些问题

    1.AndroidStudio运行项目提示:解析软件包错误 把图片中箭头所指的地方不勾选 [外链图片转存失败(img-dRAahIpe-1563245029386)(https://github.co ...

  7. Android 后台启动startService()相关问题的解决

    需求 有一个用户需要这样一个功能,要求是APP能在充电的时候自动进入APP的一个界面 我寻思着,这玩意用普通权限做不了呀,不过APP有root权限倒也无妨,于是便决定采用Service去做后台服务 问 ...

  8. 【环信IM集成指南】Android 端常见问题整理

    1.如何修改系统通知中的头像和用户名 系统通知是在主module中自己写的,demo中是AgreeMsgDelegate,InviteMsgDelegate,OtherMsgDelegate中去修改头 ...

  9. UidChange和后台行为受限

    为了增强用户隐私,Android 9 引入了若干行为变更,如限制后台应用访问设备传感器.限制通过 Wi-Fi 扫描检索到的信息,以及与通话.手机状态和 Wi-Fi 扫描相关的新权限规则和权限组.无论采 ...

最新文章

  1. 冒犯了,问大家一个问题,会linux的进来帮我解决一下
  2. PHP中的SESSION机制应用
  3. redis的安装及springDataRedis
  4. SAP UI5里的abap.js
  5. html 形状div,div+css实现各种形状(精心整理)
  6. 2021-2025年中国氮化碳行业市场供需与战略研究报告
  7. 端口扫描php,php-批量端口扫描
  8. 2022-2027年(新版)中国钢铁行业产量趋势及供需形势预测报告
  9. 如果你没空看书,我强烈建议你做这件事!
  10. pymol pymol-align两分子或蛋白距离误差计算RMSD;spyrmsd库计算RMSD
  11. 【矩阵论】6. 正规方程与矩阵方程求解
  12. 通过修改程序解决win7下应用程序兼容性助手弹出
  13. c语言全部题目及答案,C语言全部题目及答案
  14. 云阶月地,关锁千重(一.公平和非公平)
  15. 城市选择插件 V-Distpicker 组件详解以及全套用法
  16. oracle数据库装载,oracle 数据库已装载
  17. oracle数据库索引增加和删除
  18. 学习C#的党的学习路线,请教高手
  19. MOCTF PUBG 反序列化+文件备份+linux文件读取
  20. Android延时执行方法

热门文章

  1. 蔡高厅高等数学29-隐函数求导数方法
  2. 针式PKM适合哪些用户使用?
  3. 07-Redis投票系统
  4. Linux 结束进程快捷键
  5. python产品支持度_对客户推荐产品模型+python代码
  6. 上瘾:让用户养成使用习惯的四大产品逻辑
  7. 西南交通大学软件项目管理
  8. 某音adult_version防护分析加密分析邀请机制刷vip分析
  9. fanuc机器人寄存器、位置寄存器数量、用户报警数量扩充
  10. 【科研】论文初稿小技巧