因为Service 启动前台服务在不同的手机上,不同的系统表现有可能有异常,特别是在8.1.0,8.0 的系统上,所以一定要谨慎。
启动前台服务流程
1. 启动前台服务Service
2. 分别在onCreate 和 onStartCommand 中调用 ,这里调用两次是为了防止报anr。
3. 在onDestory 中调用 stopForeground(true) 退出前台服务。
注意事项:
1 ,前台服务可能有多个,所以可以设置Notification 为同一个ID, 同一个channelId 。 一定不要设置NotificationId 的值为0 ,会出现anr。
2 , 开启前台服务的Notification 一定要把声音关闭。 如果不关闭声音,每次调用onStartCommand 处理事情,每次都会有提示生意,让人很无语。
网友评论