使用Google Play服务的Android定位

2023-10-28

Welcome to android location using google play services example. Today we will learn how to use Google Play services API to retrieve your mobile location with example app.

欢迎使用Google Play服务示例访问Android位置。 今天,我们将学习如何通过示例应用程序使用Google Play服务API来检索您的移动位置。

Android Location API概述 (Android Location API Overview)

In the previous tutorial, we retrieved the user’s location using Android’s Location API that was available since Android’s API 1. So why was there a need for introducing Google Play Location Services? Why hasn’t Google enhanced Android’s Location API? What are the advantages of Google Play Location Services over the default Android Location API? Let’s discuss these questions to get a clear idea.

在上一教程中,我们使用了Android的位置API(自Android的API 1开始提供)来检索用户的位置。那么为什么需要引入Google Play定位服务? Google为什么没有增强Android的Location API? 与默认的Android Location API相比,Google Play定位服务有哪些优势? 让我们讨论这些问题以获得清晰的想法。

需要引入Google Play定位服务 (Need for introducing Google Play Location Services)

The Google Location Services API, part of Google Play Services, provides a more powerful, high-level framework that automates tasks such as location provider choice and power management. Furthermore, it provides new features such as user’s activity detection that wasn’t available in the Android Framework’s Location API. Currently, Google provides 5 user states which are In Vehicle, On Bicycle, On Foot, Still, and Tilting, which are good enough to detect user’s activity, and to provide right content according to user’s status.
Another feature it provides is Geofencing API that is used to notify a user entering or exiting a particular area.
The above advantages clearly indicate why Google Location Services API(also known as FusedLocationProviderApi) is Google’s recommended way of getting a user’s location. It provides the best accuracy based on our needs.

作为Google Play服务的一部分的Google Location Services API提供了功能更强大的高级框架,该框架可自动执行诸如位置提供商选择和电源管理之类的任务。 此外,它提供了新功能,例如Android Framework的Location API中不提供的用户活动检测。 目前,Google提供了5种用户状态,分别是“车辆内”“自行车上”“步行上” ,“ 静止 ”和“ 倾斜” ,这些状态足以检测用户的活动并根据用户的状态提供正确的内容。
它提供的另一个功能是Geofencing API ,用于通知用户进入或离开特定区域。
上述优势清楚地说明了为什么Google推荐使用Google Location Services API (也称为FusedLocationProviderApi )来获取用户位置。 它可以根据我们的需求提供最佳的准确性。

Google为什么没有增强Android的Location API? (Why hasn’t Google enhanced Android’s Location API?)

From a technical point of view, Google hasn’t improved Android’s Location API since Android has an independent update roll-out feature that lies in the hands of the smartphone manufacturer. Google has less control over it and hence decided to shift to a new API instead.

从技术角度来看,由于Android具有独立的更新推出功能(由智能手机制造商掌握),因此Google并未改进Android的Location API。 Google对它的控制较少,因此决定改用新的API。

There are few important classes that are used to get the location:

有几个重要的类可用于获取位置:

  • LocationRequest : A data object that contains quality of service parameters for requests to the FusedLocationProviderApi. LocationRequest objects are used to request a quality of service for location updates from the FusedLocationProviderApi.

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

使用Google Play服务的Android定位 的相关文章

  • 找不到数据库路径是不可能的

    我对 android 开发很陌生 现在我正在尝试通过扩展 SQLiteOpenHelper 的类创建数据库 我确信数据存储在我的 Nexus 7 我用来测试应用程序的设备 上的某个位置 但是我找不到数据库的路径 我四处寻找其他类似的问题 所
  • pandas 中连续数据的平行坐标图

    pandas 的 parallel coordinates 函数非常有用 import pandas import matplotlib pyplot as plt from pandas tools plotting import par
  • 在android中从SD卡上传图像到facebook

    我无法从 SD 卡上传 Facebook 上的图像 我使用了下面的代码 但它没有给我错误 但同时它没有上传图像 byte data null try FileInputStream fis new FileInputStream filep
  • 用于多个窗口的 Tkinter 示例代码,为什么按钮无法正确加载?

    我正在编写一个程序 应该 按一下按钮即可打开一个窗口 按另一个按钮关闭新打开的窗口 我使用类 以便稍后可以将代码插入到更大的程序中 但是 我无法正确加载按钮 import tkinter as tk class Demo1 tk Frame
  • 如何使用 isInEditMode() 在编辑器中查看自定义视图的布局

    我必须编辑一个具有自定义视图的软件 当我尝试编辑布局 xml 时 Eclipse 告诉我 在自定义视图中使用 View isInEditMode 可以在显示时跳过代码 在日食中 但我不知道how and where我必须使用isInEdit
  • 线性同余生成器 - 如何选择种子和统计检验

    我需要做一个线性同余生成器 它将成功通过所选的统计测试 我的问题是 如何正确选择发电机的数字以及 我应该选择哪些统计检验 我想 均匀性的卡方频率测试 每代收集10 000个号码的方法 将 0 1 细分为10个相等的细分 柯尔莫哥洛夫 斯米尔
  • 计算 pyspark df 列中子字符串列表的出现次数

    我想计算子字符串列表的出现次数 并根据 pyspark df 中包含长字符串的列创建一个列 Input ID History 1 USA UK IND DEN MAL SWE AUS 2 USA UK PAK NOR 3 NOR NZE 4
  • Django Rest Framework POST 更新(如果存在或创建)

    我是 DRF 的新手 我阅读了 API 文档 也许这是显而易见的 但我找不到一个方便的方法来做到这一点 我有一个Answer与 a 具有一对一关系的对象Question 在前端 我曾经使用 POST 方法来创建发送到的答案api answe
  • 更换壳牌管道[重复]

    这个问题在这里已经有答案了 在 subprocess 模块的 Python 2 7 文档中 我找到了以下片段 p1 Popen dmesg stdout PIPE p2 Popen grep hda stdin p1 stdout stdo
  • 在Python中连续解析文件

    我正在编写一个脚本 该脚本使用 HTTP 流量行解析文件 并取出域 目前仅将它们打印到屏幕上 我正在使用 httpry 将流量连续写入文件 这是我用来删除域名的脚本 usr bin python import re input open r
  • python dicttoxml 多次使用相同的键

    我正在尝试做如下所示的 xml
  • 在 scipy 中创建新的发行版

    我试图根据我拥有的一些数据创建一个分布 然后从该分布中随机抽取 这是我所拥有的 from scipy import stats import numpy def getDistribution data kernel stats gauss
  • JetPack Compose - 卡中行中的weight() 不起作用

    创建 Android 应用程序时 我将一些可组合项放在卡片的一行中 如下所示 但它没有按我的预期工作 我添加 weight 1f 的可组合项不再显示 data class Test val title String val text Str
  • 如何解决 greenDAO 在执行 InsertOrReplace 时“不存在这样的表错误”?

    我正在使用 greenDAO 并且已成功生成所有必需的类和实体 并且我可以看到我的表已创建 但是在要替换的行上放置断点后 我收到一条错误消息 告诉我 不存在这样的表错误 try appTimeUsageDao insertOrReplace
  • Log4j2 ThreadContext 映射不适用于parallelStream()

    我有以下示例代码 public class Test static System setProperty isThreadContextMapInheritable true private static final Logger LOGG
  • ARM Chromebook 上的 Android 开发环境?

    我尝试了多次安装和使用安卓工作室 https developer android com studio index html on an ARM Chromebook C100P https archlinuxarm org platfor
  • 在线性布局内的 ScrollView 内并排对齐 TextView

    我有一个带有滚动视图的线性布局 我想保留它的当前格式 但只需将 textView2a 和 textView3a 并排放置 而不会破坏我当前的布局格式 我已经包含了我最近的尝试 但它们似乎不正确 提前致谢 Java菜鸟 当前有效的 XML
  • Java/Python 中的快速 IPC/Socket 通信

    我的应用程序中需要两个进程 Java 和 Python 进行通信 我注意到套接字通信占用了 93 的运行时间 为什么通讯这么慢 我应该寻找套接字通信的替代方案还是可以使其更快 更新 我发现了一个简单的修复方法 由于某些未知原因 缓冲输出流似
  • 在python中对列表列表执行行总和和列总和

    我想用python计算矩阵的行和和列和 但是 由于信息安全要求 我无法使用任何外部库 因此 为了创建矩阵 我使用了列表列表 如下所示 matrix 0 for x in range 5 for y in range 5 for pos in
  • View.post(),以及当Runnables被执行时

    我最初的问题是需要知道我的根的高度和宽度View这样我就可以进行程序化的布局更改 就我的目的而言 我不一定需要在onCreate 对于我来说 以编程方式添加我的孩子就足够了View根布局完成后 因此我很乐意使用onWindowFocusCh

随机推荐

  • 真香!值得收藏的30道Python练手题(附详细答案)

    大家好 今天给大家分享30道 Python 练习题 建议大家先独立思考一下解题思路 喜欢本文点赞支持 文末提供技术交流群 1 已知一个字符串为 hello world yoyo 如何得到一个队列 使用 split 函数 分割字符串 并且将数
  • 图像分割___图像分割方法综述

    From 变分方法与模糊聚类在图像分割中的应用研究 这里主要简单介绍几类经典的方法 基于边缘检测的方法 基于边缘检测的方法主要是通过检测出区域的边缘来进行分割 利用区域之间特征的不一致性 首先检测图像中的边缘点 然后按一定策略连接成闭合的曲
  • C++自学记录(const限定符)

    目录 const限定符 初始化和 const 默认状态下 const对象仅在文件内有效 const的引用 初始化和对const的引用 对const的引用可能引用一个并非const的对象 指针和const const指针 关于常量指针和指针常
  • C++虚函数的作用和实现原理

    一 什么是虚函数 在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数 用法格式为 virtual 函数返回类型 函数名 参数表 函数体 实现多态性 通过指向派生类的基类指针或引用 访问派生类中同名覆盖成员函数 二
  • 【Linux内核设计与实现】Linux内核简介

    之前在读 APUE 的时候 更多的是从上层去了解如何使用Linux系统的API 那个时候就十分喜欢Linux的设计 觉得一切都很奇妙 最近有些迷茫 不知道自己以后更加具体的技术方向在哪 所以最近广泛阅读了很多方面的书 C 方面 服务端网络编
  • ‘jmeter‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

    C Users wtcai gt jmeter jmeter 不是内部或外部命令 也不是可运行的程序 或批处理文件 一般该现象产生的原因是没有配置环境变量 找到此电脑 点击鼠标右键 找到属性 点击鼠标左键 点击右侧的 高级系统设置 然后点击
  • 【机器学习入门】决策树算法(四):CART算法(Classification and Regression Tree)

    CART算法的简介 CART Classification and Regression Tree 算法 即分类回归树算法 也是决策树构建的一种常用算法 CART的构建过程采用的是二分循环分割的方法 每次划分都把当前样本集划分为两个子样本集
  • Git的下载和安装【详细】

    目录 一 前言 二 准备工作 三 安装 无特殊需求可只看第五步一路next即可 lt 1 gt 开始安装 lt 2 gt 选择安装目录 lt 3 gt 选择安装组件 lt 4 gt 选择开始菜单文件夹 lt 5 gt 选择 Git 默认编辑
  • 计算机毕业设计SSM电影推荐系统【附源码数据库】

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 SSM mybatis Ma
  • 【 linux系统入门管理篇-第三章权限管理】

    linux系统入门管理篇 第三章权限管理 本章介绍 一 基本权限UGO 二 基本权限 ACL 三 特殊权限 本章介绍 本章讲述了 Linux系统CentOS7中关于权限的相关概念 以及用户和组的管理方法 一 基本权限UGO 概述 假如你想设
  • anaconda3/lib/python3.6/site-packages/torch/lib/libtorch_python.so: undefined symbol: PySlice_Unpack

    集群上运行pytorch代码 运行时候发现报错 anaconda3 lib python3 6 sitepackages torch lib libtorch python so undefined symbol PySlice Unpac
  • spring-aop的切入表达式和JoinPoint的使用以及怎么返回通知获取结果和在异常通知中获取异常还有环绕通知

    前言 本篇的Spring AOP系类文章第四篇讲解了spring aop的切入不表达式和JoinPoint的使用以及返回通知获取结果和异常通知中获取异常还有环绕通知 个人主页 尘觉主页 个人简介 大家好 我是尘觉 希望我的文章可以帮助到大家
  • 实验16:20211219 Java大数据1+X 中级实操考试(id:2846)

    实验16 20211219 Java大数据1 X 中级实操考试 id 2846 一 项目背景说明 二 表结构 三 步骤 5 分 步骤 1 项目准备 5 分 步骤 2 完成实体类 Student 10 分 步骤 3 完成实体类 Course
  • Nginx + tomcat 的搭建

    目录 一 硬件需求 二 nginx服务安装 1 系统初始化 2 安装环境 3 创建用户 4 解压 编译 安装 5 优化环境变量 6 配置nginx service文件 7 给与权限 三 tomcat 安装 两台安装一样 1 系统初始化 2
  • TT time tunnel时空隧道命令使用场景

    场景1 记录请求时间和次数 生产环境一定要加 n 参数 不然会打满jvm arthas 8868 tt t org fyh arthas controller ProgressController test n 5 Press Q or C
  • 电脑等保测评考证

    等保测评师是什么 公安部对等级测评工作 等级测评机构建设以及等级测评人员进行了规范和需求 需求开展等级测评的人员参加专门培训和考试 并取得 信息安全等级测评师证书 等级测评师分为初级 中级和高级 考试对象 信息安全等级保护测评师培训及考试对
  • centos下完全卸载mysql

    yum方式安装的mysql 1 yum remove mysql mysql server mysql libs compat mysql51 2 rm rf var lib mysql 3 rm etc my cnf 查看是否还有mysq
  • android studio 项目app红叉问题

    在导入项目 或者更新完项目的时候 这里会出现红叉 找寻原因 点击app旁边的箭头 点击上面圈出的地方 进入界面并能看到红字上显示了原因 寻找不到sdk 说明是在我们导入项目的时候sdk配置丢失了 解决方法 点击出sdk下载的界面 并且点击e
  • 关于BottomNavigationView的使用姿势都在这里了

    一 基本用法 1 首先需要添加依赖 implementation com google android material material 1 1 0 2 布局文件中引入
  • 使用Google Play服务的Android定位

    Welcome to android location using google play services example Today we will learn how to use Google Play services API t