Android:从 AsyncTask 请求位置权限

Posted

技术标签:

【中文标题】Android:从 AsyncTask 请求位置权限【英文标题】:Android: Requesting location permission from AsyncTask 【发布时间】:2018-12-21 08:49:44 【问题描述】:

我创建了一个类 LocationProcess,它在一个单独的 Java 文件中扩展了 AsyncTask

使用doInBackground() 方法,我正在尝试获取设备的位置坐标(纬度和经度)。如何以及在何处请求许可、发送位置设置意图等。请帮助。

【问题讨论】:

请edit问题添加您的代码。 【参考方案1】:

在启动 AsyncTask 之前,您应该请求 Activity 的许可。仅当授予权限并启用位置时才执行 AsyncTask。

不要试图将 Activity 引用传递给 AsyncTask,因为如果处理不当可能会导致内存泄漏。

检查是否在较低级别授予权限的好习惯,即在访问与位置相关的 API 之前,您可以添加简单的检查以验证是否授予权限。

【讨论】:

感谢您的帮助。我已在 MainActivity 中请求权限。在doInBackground() 方法中如何获取位置坐标?请帮忙。 @AdarshPunj 你可以找到几个类似this one 的教程。对于问题的上下文,如果有用,请记住标记为已接受,以便其他人也可以受益

以上是关于Android:从 AsyncTask 请求位置权限的主要内容,如果未能解决你的问题,请参考以下文章

Android最好使用AsyncTask、Service或其他

Android:当我使用 AsyncTask 时出现“调用线程必须是准备好的 Looper 线程”错误

Android多线程编程之AsyncTask

如何为 Android Room 请求制作通用 AsyncTask

我们可以像在 android asyncTask 中一样显示加载状态,直到我们在 swift 中使用 HTTP Post 请求得到响应

Android 我应该使用 AsyncTask 还是 IntentService 进行 REST API 调用? [复制]