使用Criteria确定android location provider

android location provider有两个:

  • LocationManager.GPS_PROVIDER:GPS,精度比较高,但是慢而且消耗电力,而且可能因为天气原因或者障碍物而无法获取卫星信息,另外设备可能没有GPS模块;
  • LocationManager.NETWORK_PROVIDER:通过网络获取定位信息,精度低,耗电少,获取信息速度较快,不依赖GPS模块。

为了程序的通用性,希望动态选择location provider。对android通过Location API显示地址信息做了个别改动,可以看到使用了gps定位,精度较高:

这里使用到了Criteria,可根据当前设备情况自动选择哪种location provider。见:

LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);//设置为最大精度
criteria.setAltitudeRequired(false);//不要求海拔信息
criteria.setBearingRequired(false);//不要求方位信息
criteria.setCostAllowed(true);//是否允许付费
criteria.setPowerRequirement(Criteria.POWER_LOW);//对电量的要求

location = locationManager
        .getLastKnownLocation(locationManager.getBestProvider(criteria, true));

android Criteria相关推荐

  1. GPS开发常用方法和Criteria确定android location providerGPS

    GPS常用方法总结 取得LocationProvider public void getLocationProvider() { try { Criteria mCriteria01 = new Cr ...

  2. Android App优化之延长电池续航时间

    禁用广播接收器 确保广播接收器在真正须要时才运行指令,在onResume中当中广播接收器,在onPause中禁用. 在manifest文件里声明广播接收器时,事先默认配置成禁用的 <receiv ...

  3. Android开发权威指南(第2版)新书发布

    <Android 开发权威指南(第二版)>是畅销书<Android开发权威指南>的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45 章精彩内容供 ...

  4. Android常见错误

    1.Unable to resolve target 'android-2' 安装低版本的api,再default.properties 这个文件中把target=android-2 改成 targe ...

  5. qt android 开发之wifi开发篇

    小编简单介绍如何通过调用android API来获取wifi服务( 非常感谢作者安晓辉发布了qt android 核心编程这本书,让我两天搞懂了很多在qt中开发安卓的要领,现在跟大家分享下!至于还没知 ...

  6. Android特色开发之Google MAP

    本文节选于机械工业出版社推出的<Android应用开发揭秘>一书,作者为杨丰盛.本书内容全面,详细讲解了Android框架.Android组件.用户界面开发.游戏开发.数据存储.多媒体开发 ...

  7. Android GoogleMap 谷歌地图从零开始

    说明 由于国内使用v2最新的谷歌地图有很多限制,所有如果要在真机上测试运行要做一些准备  准备1:  vpn必不可少啦 推荐cloud vpn或者betternet都是不错的免费vpn  准备2:  ...

  8. 对Android GPS获取位置信息的新研究.

    前段时间略看了Android 的GPS API,就冒然发布了一片博文,现在再回过头来看看,确实有不少不足甚至错误.这篇算做补充和纠正吧. 1.要想获取位置信息,需要在手机设置中将"位置与安全 ...

  9. Xamarin.Android开发实践(十七)

    Xamarin.Android开发实践(十七) 原文:Xamarin.Android开发实践(十七) Xamarin.Android之定位 一.前言 打开我们手中的应用,可以发现越来越多的应用使用了定 ...

最新文章

  1. ASP.NET CORE系列【一】搭建ASP.NET CORE项目
  2. cache目录没有权限
  3. AutoML Vision教程:训练模型解决计算机视觉问题,准确率达94.5%
  4. VS2008 Tips #008 如何创建ASP.NET Web 用户控件并包含在Web 页面中
  5. 不同路径—leetcode62
  6. android intent action 介绍大全
  7. /etc/fstab详解
  8. 出于一些原因的考虑,即日起,一步一步SharePoint 2007系列文章将暂停发布
  9. 如何将Tomcat注册为系统服务
  10. 大腾讯的第一个开源项目「Tinker」
  11. 省市联动_简单的Demo,适用于各种二级菜单联动
  12. “New”一个完美对象,再来好好面向对象
  13. 程序猿头头(object与数组的简单应用)
  14. 2018安恒杯11月月赛 MISC
  15. 全球2%高智商天才必测脑力题!却只有1%的人,能在5分钟内全部做对!
  16. 电视不正常Android镜像投屏,爱奇艺乐播投屏
  17. 计算机在语文教学中,计算机技术在语文教学中的运用
  18. Cesium 填挖方分析
  19. [Error] ADC.SchDoc Compiler Net NetU1_AD1_14 contains floating input pins (Pin U1_AD1-14) 19:27:
  20. Hive——hive安装

热门文章

  1. win32模拟鼠标动作
  2. 使用AirCrack破解wifi密码(wpa/wpa2)
  3. SIP协议及其简单介绍
  4. Oracle 10g的安装
  5. 公司企业小程序怎么开发自己的小程序
  6. 【3D建模制作技巧分享】zbrush中如何卡硬边?
  7. PHP 7.1 新特性
  8. 在线项目管理软件的重要性
  9. SIM900A模块开发:通过GPRS连接OneNet平台发送GPS信息
  10. HTML超链接的使用