问题遇到的现象和发生背景
我有一个后台Service用于扫描和连接BLE设备,连接ble后设置参数,同步数据,获取设备信息等,
现在有个新需求实时监测,就是service连接设备后保持一直连接设备,app可以后台,所以service必须使用前台服务了.
但是每次打开app我就必须开始扫描设备(app 默认)
问题相关代码,请勿粘贴截图
mContext.startService(inten);
mContext.startForegroundService(inten);
我想要达到的结果
尽量不改变已经写好的service前提下,在app平常使用不弹出消息栏,当使用到监测需要将service变成前台服务时候才显示消息栏
我的解答思路和尝试过的方法
我的解决方法
方案一: 如果我打开app就以startForegroundService启动前台服务.可以满足所有需求,就是消息栏永远有一个通知,不舒服,但是监测功能使用频率很低,
方案二:以startService启动后台服务,当用户真的使用到监测功能时候,我的服务是后台服务,肯定泳衣被杀死,后台服务和前台服务可以即时变化吗?