【发布时间】:2018-06-05 15:42:30
【问题描述】:
我们正在使用 android 后台服务进行位置跟踪,其中注册融合的 google api 以进行定期位置更新。 当我们必须启动服务以进行位置更新时,我们会请求位置许可,如果用户接受,则我们启动服务并注册融合的 google api。
但是现在问题来了,一旦用户接受了权限并融合了注册位置更新的位置 api,后来用户从应用程序的设备设置中撤销了位置权限。 一旦用户这样做,应用程序就会因为
而开始崩溃java.lang.SecurityException:客户端必须具有 ACCESS_FINE_LOCATION 权限才能请求 PRIORITY_HIGH_ACCURACY 位置。
如何处理这种情况?
【问题讨论】:
-
每次请求位置时检查权限。
-
将其放入 try catch 块中并发出通知,要求用户授予继续正确使用应用程序的权限
-
问题是,我已经设置了周期性的融合定位api控制。
标签: android service crash android-permissions android-fusedlocation