Android笔记三十二.Android位置服务及核心API

这篇博客介绍了如何在Android应用中使用LocationManager获取GPS位置信息,包括调用getLastKnownLocation和requestLocationUpdates方法来监听位置变化,同时展示了如何设置位置警报以及处理位置更新的回调方法。
摘要由CSDN通过智能技术生成
一、位置服务概念
1.位置服务
    位置服务(Location-Based Services,LBS),又称定位服务或基于位置的服务,融合了GPS定位、移动通信、导航等多种技术,提供了与个空间位置相关的综合应用服务。
2.GPS与网络位置提供器
    Android平台支持提供位置服务的API,可以利用GPS( Global Positioning System, 全球定位系统)和Network Location Provider(网络位置提供器)来获得用户的位置。
    (1)GPS相对来说更精确,但它只能在户外工作,很费电,并且不能像用户期望的那样立即就能返回位置信息;
    (2)Android的网络位置提供器使用手机发射塔和WI-FI信号来判断用户位置,在室内外都能工作、响应速度快、并且更加省点。如果想在应用程序中获得用户的位置,可以同时使用GPS和网络位置提供器,或者其中一种。通过定位服务可以获得当前设备的地理位置,应用程序可以定时请求更新设备当前的地理定位信息,从而达到实时监测的功能。
3.基本框架


二、提供位置服务的核心API
    Android为支持位置服务,提供了android.location包,该包中包含了与位置信息密切相关的了和接口,主要有:LocationManager、LocationProvider、Location、LocationListener
1.LocationManager
(1)功能
    定位管理者。该类是访问Android系统位置服务的入口,所有定位相关的服务、对象都将由该类的对象来产生和其他服务一样,程序不能直接创建LocationManager对象,而是通过Context的getSystemService()方法来获取对象:
LocationManager locMg=getSystemService(Context.LOCATION_SERVICE);
(2)LocationManager中的常用方法
  public String getBestProvider(Criteria criteria,boolean enabledOnly):根据指定条件返回最优的LocationProvider。其中criteria表示过滤条件,enabledOnly表示是否要求处于启用状态。  
 public Location getLastKnowLocation(String provider):根据LocationProvider获取最近一次已经的Location对象。其中provider表示提供上次位置的LocationProvider名称。
 public LocationProvider getProvider(String name):根据名称返回LocationProvider对象。
 public List<String> getProviders(boolean enabledOnly):获取所有可用的LocationProvaider。
 public voidrequestLocationUpdates(String provider,long minTime,float minDistance,LocationListener listener):通过指定的LocationProvider周期性地获取定位信息,并触发listener所对应的触发器。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值