需要 Android 活动等待获取 GPS 位置

2024-02-18

对不起我的英语不好。 我正在尝试从 GPS 获取单个位置以添加全局变量纬度、经度。 GPS 打开,但在从 GPS 检索数据之前活动仍在继续。

换句话说,我的需求...仅当找到位置并且填充了经度和纬度变量时,方法 getCurrentLocation() 才必须完成,因此我可以在其他方法中使用它们。 我知道...用户必须等待...我将解决此问题,在屏幕上显示一些内容。 我应该怎么办? 谢谢

我想我正在跳过在某个地方停止监听 GPS 的操作。哪里比较好?

代码如下:

//Method to retrieve coordinates
public void getCurrentLocation() {
    //Use GPS if possible
    if(manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
        //assign Listener to GPS
        manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);
        Toast.makeText(this, LocationManager.GPS_PROVIDER, Toast.LENGTH_SHORT).show();
    }
    else if(manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){//toherwise, use NETWORK
        //assign Listener to NETWORK
        manager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, listener);
        Toast.makeText(this, LocationManager.NETWORK_PROVIDER, Toast.LENGTH_SHORT).show();
    }
}

//Class to store the location recived in two variables
final class MyLocationListener implements LocationListener {

    @Override
    public void onLocationChanged(Location location) {
        //coordinates storing
        latitude = String.valueOf(location.getLatitude());
        longitude = String.valueOf(location.getLongitude());
        Toast.makeText(getApplicationContext(), latitude + longitude, Toast.LENGTH_LONG).show();
    }

    @Override
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub
    }
}

如果您希望 Android 活动等待获取 GPS 位置,您可以尝试使用AsyncTask为了那个原因。看Android 查找 GPS 位置一次,显示加载对话框 https://stackoverflow.com/questions/3486055/android-find-gps-location-once-show-loading-dialog寻求答案。基本上在onPreExecute您可以启动对话框(它在doInBackground叫做)。这意味着您正在等待,直到可以定位并显示对话框的时间。然后在doInBackground你可以得到位置。之后完成onPostExecute叫做。你可以从里面停下来onPostExecute。您可以检查位置是否不为空,然后从内部调用其他函数onPostExecute如果你愿意的话也可以。

这可能是一种方式。您可以从中学习一个基本示例AsyncTask Android 示例 https://stackoverflow.com/questions/9671546/asynctask-android-example。您也可以从阅读文档开始here http://developer.android.com/reference/android/os/AsyncTask.html.

其他一些类似的有用问题:

等待当前位置 - GPS - Android Dev https://stackoverflow.com/questions/10538389/wait-for-current-location-gps-android-dev

在android中立即获取位置 https://stackoverflow.com/questions/6002630/getting-location-instantly-in-android

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要 Android 活动等待获取 GPS 位置 的相关文章

  • 与其他图标相比,AppCompat ShareActionProvider 图标太大

    我将 ActionBarSherlock 更改为 AppCompat v7 我已经完成了使其工作所需的所有更改 但是共享图标 使用 ShareActionProvider 发生了一些奇怪的情况 与其他图标相比 共享图标太大 我还使用支持库进
  • 使用库来维护免费/付费的应用程序版本

    维护免费 付费应用程序版本的共识似乎是使用库 并从每个活动中设置一个标志 以从代码库中获取不同的功能 这有多安全 据我了解 一个人可以root他们的手机 获取APK 并且可以对其进行反编译 即使代码被混淆 也不难看出该应用程序是带有标志的包
  • 如何获取.so文件的依赖项列表?

    假设我有libFoo so为 android arm 编译 我不确定它链接到什么STL实现 有options http developer android com intl ru ndk guides standalone toolchai
  • Android 应用被 Google Play 拒绝

    我最近向 Google Play 商店提交了一个 Android 应用程序 但收到一条消息说我的应用程序已被拒绝 我不确定问题是什么 也找不到确切的解决方案 拒绝原因 违反了禁止行为条款 内容政策 经过定期审核后 我们确定您的应用程序支持
  • Firestore - RecycleView - 图像持有者

    我不知道如何编写图像的支架 我已经设置了 2 个文本 但我不知道图像的支架应该是什么样子 你能帮我告诉我图像的文字应该是什么样子才能正确显示吗 holder artistImage setImageResource model getArt
  • 如何查看 Android 上的 Wi-Fi 是否已连接?

    我什至不希望我的用户尝试下载某些内容 除非他们连接了 Wi Fi 然而 我似乎只能判断是否启用了 Wi Fi 但他们仍然可以有 3G 连接 android net wifi WifiManager m WifiManager getSyst
  • Firebase ANR - 甚至不使用 firebase

    随着 GMS 的最新更新 引入了新的 ANR 如果您退出应用程序 然后返回 则 ANR 就会初始化 线程跟踪似乎指向 Firebase 但我什至从未开始使用 Firebase 我猜它一定是新的 GMS 包的一部分 06 11 00 34 0
  • 导航抽屉默认片段

    我是一名新手开发人员 我正在将导航抽屉与 android support v7 集成到我的应用程序中 我有一个问题 当我启动应用程序时 主要布局是这样的
  • java.lang.IllegalArgumentException:找不到片段的 id 0x1020002 (android:id/content) 的视图

    我正在尝试从一个片段移动到另一个片段 它在片段事务期间显示以下错误 java lang IllegalArgumentException No view found for id 0x1020002 android id content f
  • Android 从命令行停止模拟器

    这个问题与如何通过命令行关闭Android模拟器 https stackoverflow com questions 5912403 how to shut down android emulator via cmd 但是 在尝试第一个答案
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • onBackPressed 隐藏 不破坏 Activity

    我知道如何取消后退按键 以便活动 主窗口保持可见 public void onBackPressed return 我的目标是隐藏该活动 但是 在没有完成它的情况下 您如何在 onBackPressed 事件中做到这一点 即我想达到 onP
  • NoClassDefFoundError:无法解析:Landroid/support/v7/appcompat/R$styleable

    新手尝试完成 Google 提供的我的第一个应用程序教程 在这个致命异常的过程中 我确实导入了很多随机包来消除许多事情的 无法解析 错误 例如 ActionBarActivity EditText Fragment LayoutInflat
  • 在 iOS 上从 GPS 获取时间

    我正在开发一个跟踪器应用程序 该应用程序需要高精度地了解设备位置 即它使用位置服务并忽略水平精度低于 20 米的位置 CLLocation没有明确声明是否通过 GPS 确定 但是 如果水平精度为 20 米或更好 则可以认为它是来自 GPS
  • android httprequest java.net.UnknownHostException

    我想用android发出http请求 是使用这个 void testHTTP HttpClient httpClient new DefaultHttpClient HttpUriRequest request new HttpPost h
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • 在 Honeycomb Android 3.0 中显示 Action Bar 菜单项的图标

    我正在使用 Honeycomb android 3 0 开发 Android 应用程序 我正在尝试在 Action Bar 中显示菜单 菜单有一个图标和标题 当我们单击菜单项时 它会以下拉列表的形式显示其项目 它是下拉列表中带有项目名称但不
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • 在 Android 中使用 iText 将图像添加到特定位置

    我想使用 Android 中的 iText 将图像添加到 PDF 文件中的特定位置 这是一个可填写的表单 我添加了作为图像占位符的文本框 我想要做的就是像这样获取该文本框和图像 public class FormFill public st
  • Android:如何检测手机设置中的语言已更改

    我如何检测我的手机语言是否已更改 例如 Facebook 应用程序将向我们宣布 please wait we preparing your language i used myString Locale getDefault getDisp

随机推荐

  • 无法编辑 crontab (linux Alpine)

    我在非 root 帐户下的 alpine 中遇到了 crontab 问题 bash 4 3 crontab e crontab must be suid to work properly 这是输出id命令 bash 4 3 id uid 4
  • 正则表达式:将所有内容匹配到最后一个空格而不包含它

    我想将字符串中的所有内容匹配到最后一个空格 但不包含它 举例来说 我想匹配我输入的字符bold RENATA T GROCHAL 到目前为止我已经 s https regex101 com r gM3aM2 1但是 它与最后一个空格匹配 但
  • 将具有多种数据类型的Python序列转换为张量

    我正在使用 TensorFlow r1 7 和 python3 6 5 我对 TensorFlow 也很陌生 所以如果可能的话 我希望有易于阅读的解释 我正在尝试使用此函数将输入数据转换为张量数据集tf data Dataset from
  • Pandas无法加载数据,csv编码之谜

    我正在尝试将数据集加载到 pandas 中 但似乎无法完成第 1 步 我是新手 所以如果这是显而易见的 请原谅 我已经搜索了以前的主题 但没有找到答案 数据大部分是汉字 这可能是问题所在 csv 非常大 可以在此处找到 http weibs
  • Cassandra 如何水平扩展?

    我看过一个video https www youtube com watch v B HTdrTgGNsCassandra 数据库非常有效 并且确实解释了很多有关 Cassandra 的内容 我还准备了一些关于 Cassandra 的文章和
  • OpenACC 是否会影响正常的 GPU 渲染?

    我试图弄清楚是否可以使用 OpenACC 代替正常的 CPU 串行执行调用 通常我的编程都是关于 3D 编程 或者以某种方式正常使用 GPU IE 图像处理或其他需要使用着色器的渲染类型 我想弄清楚这个图书馆是否对我有利 我问这个问题的原因
  • 如何以编程方式实现 2D 装箱?

    stackoverflow 上有一些类似的问题 但似乎都没有提供一个对 NP 难问题和算法没有深入了解的人可以理解的切实答案 如何对矩形物体进行 2D 装箱 就我而言 我尝试使用最小的空间将多个图像组合成单个图像 用作精灵表 每个图像可能具
  • 在哪里可以找到 Selenium WebDriver 的 64 位版本 chromedriver.exe?

    谁能告诉我在哪里可以找到 64 位版本的 chromedriver exe 我也用 32 位尝试过 但它没有调用 main 方法 Chromedriver 没有单独的 64 位版本 版本可在https sites google com a
  • 在 Ninject 2+ 中禁用非显式绑定类的隐式绑定/注入

    如果您从 NInject 请求未绑定的对象 则默认行为 如果有合适的构造函数可用 似乎是创建适当对象的实例 我想禁用此行为 我遇到了一个难以调试的问题 因为某些内容是自动绑定的 而不是在模块中选取我的自定义绑定 这个问题 https sta
  • CSV 和 MS-DOS CSV 格式

    我有一个自定义 java 程序 它生成一个逗号分隔值 CSV 文件 它使用以下输出格式 a b c 我的用户抱怨我的 CSV 文件不是 MS DOS CSV 格式 他们向我提供了一个 MS DOS CSV 格式的文件 我对我的 CSV 文件
  • 将 PLSQL 过程/函数标记为已弃用

    某些编程工具 例如 C 或 Java 可以将过程 函数标记为已弃用 但 Oracle PLSQL 没有内置此功能 我想知道还有另一种方法来支持此功能 我希望它们显示为 有关正在编译的任何 PL SQL 代码的 PL SQL 编译器警告 96
  • 将 xml 和 java 配置与 spring 混合使用

    我正在构建一个新的应用程序 它通过 java 配置而不是 xml 来配置 spring 此应用程序依赖于使用 xml 样式配置的模块 当我尝试启动我的应用程序时 出现以下错误 No qualifying bean of type com m
  • 从 Mac 访问 Parallels Windows localhost [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我使用 Windows 7 操作系统作为开发平台 在 Mac Parallels Desktop 5 上运行 我想从 Mac 端访问 Wi
  • postgresql:当服务器作为 Windows 服务运行时,pg_ctl 状态显示没有服务器在运行

    我有 PostgreSQL 9 4 未安装 而是自行配置 它也作为 Windows 服务安装 现在我尝试使用检查服务器的状态pg ctl exe status D data dir path 但它只显示我以管理员身份启动控制台时的状态 我的
  • PetaPoco / SQLite 聚合日期错误的解决方法

    下面是创建 SQLite 数据库 将一些数据填充到表中然后尝试检索它的完整代码 如果日期时间列周围有聚合函数 PetaPoco 将抛出错误 using System using PetaPoco class Program static v
  • 从搜索结果表 (UISearchController) 导航到视图(推送)并将搜索结果保留在适当位置

    我有一个搜索结果表 UISearchController 呈现在导航堆栈上存在的视图上 我在视图中呈现搜索控制器和表格 如下所示 searchResultsTableViewController CalendarSearchResultsT
  • db.cloneCollection 忽略重复键

    如何使用 MongoDB 克隆集合并忽略重复键 mongo items MongoDB shell version 2 4 6 connecting to items gt db cloneCollection localhost 2701
  • Java 8stream.collect(...groupingBy(...mapping(...reducing))) 减少 BinaryOperator 的使用

    我使用了一个解决方案groupingBy mapping and reducing对于以下问题 在 Java 8 中以对象字段作为对象流中的键 值 优雅地创建映射 https stackoverflow com questions 4296
  • jqGrid 在 IE7 中加载子网格时出现问题

    我一直在努力获得 网格作为子网格 http trirand com blog jqgrid jqgrid html t14 功能正在工作 但运气不佳 我认为我在代码中做错了什么 因为它在独立测试中工作正常 但是 我终于注意到了only我的应
  • 需要 Android 活动等待获取 GPS 位置

    对不起我的英语不好 我正在尝试从 GPS 获取单个位置以添加全局变量纬度 经度 GPS 打开 但在从 GPS 检索数据之前活动仍在继续 换句话说 我的需求 仅当找到位置并且填充了经度和纬度变量时 方法 getCurrentLocation