我在一个单独的Java文件中创建了一个扩展AsyncTask
的类LocationProcess
。
使用doInBackground()
方法,我试图获取设备的位置坐标(纬度和经度(。如何以及在哪里请求权限、发送位置设置意向等。请提供帮助。
在启动AsyncTask之前,您应该向"活动"请求权限。只有在授予权限并启用位置的情况下,才执行AsyncTask。
不要试图将"活动"引用传递给AsyncTask,因为如果处理不当,可能会导致内存泄漏。
检查是否在较低级别授予权限是一种很好的做法,即在访问与位置相关的API之前,您可以添加简单的检查来验证是否授予了权限。