美文网首页
完美解决Android8.0之后StartService报错问题

完美解决Android8.0之后StartService报错问题

作者: 武境丶林动 | 来源:发表于2019-06-25 11:23 被阅读0次

       在开发锁屏软件的过程中,会通过开启后台服务的方式保证进程随时接收到用户开屏广播,进而通过服务开启Window或启动Activity的方式实现锁屏界面展示,但是在Android8.0之后,Google会对后台服务进行控制,并禁止启动后台服务。提出通过startForegroundService() 启动前台服务。但是必须要配合在service 中调用Service.startForeground(),单纯的使用StartService()方式可能会导致程序崩溃(ANR 或者crash),废话不多说,解决方法如下所示(亲测可用):


    1. 通过判断当前手机版本对服务启动进行区别对待,如下图:

    版本判断

    2.对所启动Service进行通知处理(Google对Android8.0之后进行的强制处理),此方法需在Service的onCreate方法内调用,通知可根据个人需求对Notification进行属性设定,这里提供的是最简单的通知样式,仅仅包括图标和内容。

    通知

       至此,完美解决。

    相关文章

      网友评论

          本文标题:完美解决Android8.0之后StartService报错问题

          本文链接:https://www.haomeiwen.com/subject/csqtcctx.html