在写app的时候,真机测试(荣耀10 安卓10),因为需要后台服务保持运行,需要一个通知,结果报错崩溃
java.lang.SecurityException: Permission Denial: startForeground from pid=xxxx, uid=xxxx requires android.permission.FOREGROUND_SERVICE
在manifest中加入该权限后,运行app还是崩溃。
后来进入设置中查看权限是否有缺少,已经开启了所有权限,只不过依然报错。
在程序中加入动态获取权限,发现还是没有弹出FOREGROUND_SERVICE权限的申请。
对比之前的demo可以运行成功,发现targetSDK不一样,报错的app targetSDK是29,通过修改targetSDK为25后不会出现这个问题,应该是这个权限在高sdk上的BUG。
解决思路:
降低targetSDK