GPS Android - 仅获取一次定位

2023-12-22

有没有一种方法可以访问 GPS 一次,而不是使用不断检查位置更新的循环器?

在我的场景中,我感兴趣的是找到当前坐标,而不是与 GPS 卫星的持续连接。有谁知道如何做到这一点?提前致谢。


不要使用 getLastKnownLocation,因为这可能会返回 null 或旧数据。

这段代码仅在按下按钮后获取位置但不是每次。人们习惯于让位置监听器在每个实例中监听缩短电池寿命所以使用我通过大量研究发布的代码片段:

// get the text view and buttons from the xml layout
Button button = (Button) findViewById(R.id.btnGetLocation);
final TextView latitude = (TextView) findViewById(R.id.textview4);
final TextView longitude = (TextView) findViewById(R.id.textview5);
final LocationListener locationListener = new LocationListener() {
        @Override
        public void onLocationChanged(Location location) {
            mlocation = location;
            Log.d("Location Changes", location.toString());
            latitude.setText(String.valueOf(location.getLatitude()));
            longitude.setText(String.valueOf(location.getLongitude()));
        }

        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {
            Log.d("Status Changed", String.valueOf(status));
        }

        @Override
        public void onProviderEnabled(String provider) {
            Log.d("Provider Enabled", provider);
        }

        @Override
        public void onProviderDisabled(String provider) {
            Log.d("Provider Disabled", provider);
        }
    };

    // Now first make a criteria with your requirements
    // this is done to save the battery life of the device
    // there are various other other criteria you can search for..
    Criteria criteria = new Criteria();
    criteria.setAccuracy(Criteria.ACCURACY_COARSE);
    criteria.setPowerRequirement(Criteria.POWER_LOW);
    criteria.setAltitudeRequired(false);
    criteria.setBearingRequired(false);
    criteria.setSpeedRequired(false);
    criteria.setCostAllowed(true);
    criteria.setHorizontalAccuracy(Criteria.ACCURACY_HIGH);
    criteria.setVerticalAccuracy(Criteria.ACCURACY_HIGH);

    // Now create a location manager
    final LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

   // This is the Best And IMPORTANT part
    final Looper looper = null;

   // Now whenever the button is clicked fetch the location one time
   button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            locationManager.requestSingleUpdate(criteria, locationListener, looper);
       }
   });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GPS Android - 仅获取一次定位 的相关文章

  • AIX:IBM Java:java.net.SocketException:连接超时:可能是由于地址无效

    当尝试与我们的服务器建立 SSL 连接时 我们在 IBM AIX 上经常看到以下异常 java net SocketException Socket closed at com sun net ssl internal ssl SSLSoc
  • 如何加快 jar 签名者的速度?

    我使用 ant 来签署我的 jars 以进行网络启动部署 Ant signjar 在 Web 启动签名时非常慢 如何加快签名过程 我找到了一种可能的解决方案 早些时候 在构建脚本 ant signjar 中 按顺序调用所有 jar 我们使用
  • Apache HttpClient 执行时会在所有 HTTP 5XX 错误上抛出 IOException 吗?

    The Apache HttpClient 文档 http hc apache org httpcomponents client ga httpclient apidocs org apache http client HttpClien
  • 从 AlertDialog 返回值

    我想构建一个函数来创建 AlertDialog 并返回用户输入的字符串 这是我用于创建对话框的函数 如何返回该值 String m Text private String openDialog String title AlertDialo
  • Restful WS 中的 WSDL 等价物是什么?如果没有,消费者如何生成所需的客户端类?

    比如说 我在java中有生产者 在 net中有消费者 生产者有一个方法 需要 员工作为方法参数并在数据库中创建员工 对于基于 SOAP 的 ws dot net 客户端将调用 WSDL 并创建存根 包括 dot net 中的员工数据表示 现
  • 将 @RequestLine 与 Feign 一起使用

    我有一个工作 Feign 接口定义为 FeignClient content link service public interface ContentLinkServiceClient RequestMapping method Requ
  • 捕获 XSS(跨站脚本)攻击的最佳正则表达式(Java 中)?

    杰夫实际上在净化 HTML http refactormycode com codes 333 sanitize html 但他的示例是用 C 编写的 而我实际上对 Java 版本更感兴趣 有人有更好的 Java 版本吗 他的示例是否足以直
  • 使用 Mockitos 传递参数化输入

    我正在使用 Mockito 进行单元测试 我想知道是否可以使用 Junit 测试中的方式发送参数化输入参数 e g InjectMocks MockClass mockClass new MockClass Test public void
  • 在 TextView onTextChanged 上设置文本

    我有一个定义为类属性的文本视图 以便我可以在整个类中访问它 在 onCreate 方法中我执行以下操作 chars TextView findViewById R id chars chars setText 300 之后 public v
  • Exif 方向标签返回 0

    我正在开发一个自定义相机应用程序 我面临以下问题 当我尝试使用检索方向时ExifInterface 它总是返回 0 ORIENTATION UNDEFINED 这使我无法将图像旋转到正确的状态 从而无法正确显示 我使用示例代码来设置相机旋转
  • 如何检测java控制台中而不是GUI中的箭头键? [复制]

    这个问题在这里已经有答案了 我正在编写一个应用程序 我需要检测其中的箭头键 C 有getch 函数 我们想要获取输入 然后添加对 ASCII 值的检查 我们如何检测输入箭头键 谢谢 我写了一个Java类原始控制台输入 http www so
  • spring-boot-starter-web 2.4.4 导入 spring-web 和 spring-webmvc 版本 4.3.12 在 pom 中列为 5.3.5

    我正在使用spring boot starter web我的项目中的版本2 4 4 当我查看其内容时 它清楚地列出了 spring web 和 spring webmvc 5 3 5 版本 但是 由于某种原因 我可以看到这个 spring
  • 如何在jpa中共享EntityManagerFactory

    我是 jpa 的新手 这是场景 我正在开发一个 Web 应用程序 其中 多个用户可以登录 当 user1 注销时 我正在使用下面的代码 public static void closeEntityManagerFactory if enti
  • JBoss 5 截断 base64 cookie 字符串的尾部 =

    从 JBoss 4 升级到 JBoss 5 后 我注意到最烦人的回归 它截断 base64 cookie 值的尾部等号 我花了很长时间才明白问题不是我的代码而是 JBoss 的 我用 google 搜索了一下 发现这是一个已知的问题issu
  • 如何用 XML 制作双渐变(类似 iphone)

    如何使用 XML 制作这种可绘制渐变 我可以做一个从颜色 A 到颜色 B 的简单渐变 但我不知道如何在同一个可绘制对象中组合两个渐变 我终于找到了一个带有图层列表的解决方案 这对我来说已经足够好了
  • 如何手动添加Android Studio依赖

    我多次尝试向我的项目添加依赖项 但每次都会出现错误 我想添加它们的依赖项是 de hdodenhof circleimageview 1 3 0 and com github bumptech glide glide 3 6 1 所以我想下
  • 用于从链表中删除元素的大 O 表示法[重复]

    这个问题在这里已经有答案了 我正在阅读有关链接列表的内容 我发现 从链表中删除所需的元素需要 O n 运行时间 其中 n 是元素的数量 列表中的元素 http www cs mcgill ca dprecup courses IntroCS
  • RecyclerView元素更新+异步网络调用

    我有一个按预期工作的回收视图 我的布局中有一个按钮可以填充列表 该按钮应该进行异步调用 根据结果 我更改按钮的外观 这一切都发生得很好 但是 当我单击按钮并快速向下滚动列表时 异步调用的结果会更新新视图的按钮 代替旧视图的视图 我该如何处理
  • Java applet 是否会违反同源策略

    我需要请求一些东西并从其他域获取信息 我知道由于同源政策 javascript 无法做到这一点 我的另一个选择是通过我的服务器发出代理请求 我不希望请求来自我的服务器的 IP 也不想为我的服务器创建额外的负载 并且希望客户端这样做 是否可以
  • Android:列“_id”不存在

    我收到这个错误 IllegalArgumentException 列 id 不存在 当使用SimpleCursorAdapter从我的数据库中检索 该表确实有这个 id柱子 注意到这是一个常见问题 我尝试根据网上的一些解决方案来解决它 但它

随机推荐

  • 可以从 UIView 复制 CALayer 吗?

    这是我的设置 我有一个 CALayer 我想向其中添加子层 我通过设置 UILabel 创建这些子层 然后将 UILables 层添加到我的主层 当然 这会使沉重的 UILabel 对象在后台徘徊 是否可以从 UIView 获取图层及其所有
  • 在 OData 中,有没有办法按数组中的第一个元素进行排序?

    我有一个 OData 4 端点 用于在表中显示数据 其中一列包含一组由我的元素内的字符串数组连接而成的数据 有没有办法按数组中的第一个元素排序 我的元素可能如下所示 FirstName John MiddleNames Harry Bobb
  • 如何获取 Windows 8 应用程序的方法名称

    如何在 win 8 WinRT 应用程序中获取当前方法名称 早期在 wp7 中我们可以使用System Reflection MethodBase GetCurrentMethod Name但它不再存在了 谢谢 是的 NETCore 缺少很
  • 如何从命令行使用 GIMP 将 XCF 转换为 PNG?

    作为构建过程的一部分 我需要将许多 XCF GIMP 的本机格式 图像转换为 PNG 格式 我确信使用 GIMP 的批处理模式应该可以实现这一点 但我已经忘记了我以前知道的所有 script fu 我的输入图像有多个图层 因此我需要相当于
  • 将数据传递给 subprocess.check_output

    我想调用一个脚本 将字符串的内容通过管道传输到其标准输入并检索其标准输出 我不想接触真正的文件系统 所以我无法为其创建真正的临时文件 using subprocess check output剧本写什么我都能得到 我怎样才能将输入字符串放入
  • 尽可能快地获取大型文本文件中包含字符串的所有行?

    在Powershell中 如何尽可能快地读取和获取巨大文本文件 大约200000行 30 MB 中包含特定字符串的最后一行 或所有行 我在用着 get content myfile txt select string pattern my
  • GWT Requestfactory 性能建议

    我发现使用 GWT requestfactory 时性能非常糟糕 例如 一个请求需要我的服务层 2 秒才能完成 而 GWT 则需要 20 秒才能序列化 我的服务返回约 100 个实体代理 这些对象中的每一个都有 4 个 ValueProxi
  • 如何生成一组随机颜色,其中没有两种颜色几乎相似?

    我目前使用以下函数来生成颜色的随机十六进制表示 function getRandomColor max r 192 max g 192 max b 192 if max r gt 192 max r 192 if max g gt 192
  • 为什么 VS2010 调试器会挂起?

    这种情况刚刚开始发生在我的工作箱和家里 在 Visual Studio 2010 中 我将启动调试会话 程序将运行到第一个断点 仅此而已 我可以随心所欲地按 F10 11 5 什么都不会发生 退出的唯一方法是 Shift F5 这让我发疯
  • 无法设置访客内存“android_arm”:参数无效

    我花了几天时间尝试启动任何 Android 程序 即使 Hello World 也给我同样的错误 2014 10 28 18 07 14 android19 Android Launch 2014 10 28 18 07 14 androi
  • XDocument 中innerXml 和outerXml 的对应项是什么?

    我正在尝试将一些使用 XmlDocument 类的代码重构为 Linq To Xml 但是 我不确定XDocument 中innerXml 和outerXml 的对应项是什么 根据 MSDN InnerXml http msdn micro
  • 根据选择值禁用 Angular Reactive 表单输入

    我有一个表单 使用 Angular Material 我想根据选择值禁用某些输入字段 我的代码如下所示 HTML
  • 如何查看Excel文件的XML形式?

    如何查看 Excel 的 XML 形式 xlsx file XLSX 文件只是 ZIP 文件 因此请使用您最喜欢的 ZIP 工具解压缩它们
  • 如何通过java代码访问和创建azure存储帐户的生命周期规则/生命周期管理策略

    我想创建一个生命周期规则 or 生命周期管理政策对于特定的 azure 存储帐户 通过java代码 不通过 terraform 或 azure 门户 任何适当的代码片段或参考都会有所帮助 提前致谢 如果您想管理 Azure Blob 存储生
  • xcode Storyboard - ibtoold 解档异常

    例外的是 CompileStoryboard Catwall en lproj MainStoryboard storyboard cd Users guvenozyurt Desktop git catwall ios setenv IB
  • 智能卡读卡器访问时出现未知错误 0x16

    我正在尝试更改 ACR1252U 上的蜂鸣器持续时间 API 链接 http www acs com hk download manual 6402 API ACR1252U 1 09 pdf http www acs com hk dow
  • 在 keras 中微调预训练模型

    我想在 keras 中使用预训练的 imagenet VGG16 模型 并在顶部添加我自己的小型卷积网络 我只对功能感兴趣 对预测不感兴趣 from keras preprocessing image import ImageDataGen
  • 一次从流中选取 2 个元素[重复]

    这个问题在这里已经有答案了 假设我们有一个集合 或流 1 2 3 4 现在我们想要取两个元素并像这样组成一对 1 2 2 3 3 4 我们知道如何以丑陋的方式做到这一点 for 循环 我想知道我们如何使用 java 8 流来做到这一点 因为
  • Laravel - 检索多对多多态关系的逆(带分页)

    经过一番挖掘后 我仍然找不到任何可靠的方法来检索允许混合模型结果的多对多多态关系的逆 请考虑以下事项 我有几个可以 标记 的模型 虽然检索例如很简单 item gt tags article gt tags和相反的 tag gt artic
  • GPS Android - 仅获取一次定位

    有没有一种方法可以访问 GPS 一次 而不是使用不断检查位置更新的循环器 在我的场景中 我感兴趣的是找到当前坐标 而不是与 GPS 卫星的持续连接 有谁知道如何做到这一点 提前致谢 不要使用 getLastKnownLocation 因为这