Android定位测试(深坑)

问题:我们是一个海外app,市场部去马来西亚打开那边的市场,发现了一个问题,就是我们的app定位有问题,还是成都的定位,主要原因是在马来西亚使用这个app,请求中带的经纬度参数是成都的,导致服务器返回了成都的定位。

一、Android定位方式

Android常用的三种定位方式有:基于GPS定位、基于基站定位、基于wifi定位

1)基于GPS定位

 GPS定位需要GPS模块(硬件)的支持,没有GPS模块是无法进行GPS定位的。

 GPS定位最大的优点就是其定位精确度高;缺点就是耗电高、定位慢、室内和地下室基本定位不到。

2)基于基站定位

 根据采集到手机所处基站信息和手机相关信息(MNC、MCC、LAC)进行定位,基站定位最大的优点就是:定位速度快,缺点就是:定位精度稍微较差,无网络信号不能使用。

3)基于wifi定位:

 和基站定位类似,根据当前设备获取的wifi信息来进行定位。

可以从Androidmanifest.xml查看程序优先使用的定位方式:

android.permission.ACCESS_FINE_LOCATION        → GPS定位

android.permission.ACCESS_COARSE_LOCATION   → 网络定位

二、Android应用定位原理

LocationManager是用于管理Android的用户定位服务,使用它来监听获取当前的位置信息并定义要返回的信息,如经纬度、方位等

注意点:

 1、如果程序拥有打开GPS的权限,用户设置关闭GPS后但又获取位置的需求则会自动打开GPS来进行定位,定位后会自动关闭GPS;

 2、定位时一定要设置超时时间,要不然遇到定位不到的情况则会一直卡在定位上还无法退出使用其他功能;

 3、如果超时可以上一次定位的位置(LocationManager有方法可以得到上次定位的位置),如果上次定位位置为空则提示用户定位失败。

三、测定位时该从哪些角度考虑

 1、检查三种定位方式定位是否能成功,定位精度准确且无报错;

 2、三种定位正交组合,检查定位功能和定位精度;

 3、程序有打开GPS权限时,关闭网络和GPS,检查能否定位和定位精度;

 4、定位失败的两种处理情况(失败提示和是否返回上一次位置);

 5、定位过程中与来电、短彩信、蓝牙的冲突;

 6、定位过程中与功能键交互;

 7、不同网络环境(移动、联通、电信中3G/2G)下的定位速度和精度;

 8、不同环境(室内、室外、电梯)的定位和精度;

 9、本地测试外地定位(DDMS模拟)

特别是第9点,我这次就是坑了,没测试到

原文地址:https://www.cnblogs.com/lxs1314/p/8384529.html

时间: 2024-10-02 19:42:23

Android定位测试(深坑)的相关文章

Android studio的深坑 导jar包重复的异常处理

导包重复这个问题折磨了整整一天!! 第一个方法在gradle文件下看看有没有重复的包  如果有那么一切都是浮云分分钟搞定 ,最可恶的是在gradle里面没有. 在gradle里面找不到的话就要考虑一下去项目根目录查看了  在项目的根目录里有一个.idea文件夹.在该文件夹下有一个 libraries目录这里把项目中导入的包编译成了xml文件  把相应重复的包删除掉就好了  ..小小的问题折腾一天也是没谁了.

android MultiDex multidex原理原理下遇见的N个深坑(二)

android MultiDex 原理下遇见的N个深坑(二) 这是在一个论坛看到的问题,其实你不知道MultiDex到底有多坑. 不了解的可以先看上篇文章:android MultiDex multidex原理(一) 解决和遇到的其它问题,请见下一篇文章:android MultiDex 原理下超出方法数的限制问题(三) 遭遇multidex 愉快地写着Android代码的总悟君往工程里引入了一个默默无闻的jar然后Run了一下~~~~ 经过漫长的等待AndroidStudio构建失败了. 于是

Android tips(十)-->允许模拟位置在Android M下的坑

转载请标明出处:一片枫叶的专栏 本文我们将讲解允许模拟位置在Android M下的坑.做地图类应用的同学应该都知道为了避免软件模拟位置影响正常流程的进行我们一般都会判断用户手机是否打开了模拟位置设置,若打开了则终止用户流程,提醒用户关闭模拟位置设置.在android系统的开发者选项中有一个模拟位置的选项,其作用是允许用户通过代码模拟设备的当前位置,比如地图类应用需要测试在外地的使用情况,通过开启此项选项可以通过代码模拟位置,具体可参考我的:Android中的开发者选项 允许模拟位置的设置选项在手

Android 定位服务(转载)

今天因为工作需要,把以前编写的一个GPS测试程序拿出来重新修改了一下.这个程序说起来有些历史了,是我11年编写的,那时候学了Android开发没多久,算是一个实验性的作品.现在工作需要,重新拿出来修整.同时发现我对android的GPS服务了解并不深,所以今天特意阅读了有关GPS服务的一些资料,把相关知识点记录下来. 本人做了GPS相关的嵌入式软件已经几年了,所以说起要做个测试GPS定位模块的程序,第一反应就是串口读取GPS模块的数据,然后解析GPS的NMEA格式数据.NMEA是一种标准化数据格

Android应用测试指南

一.Android 的 SDK Windows 版本安装 按顺序安装以下内容 1.    安装JDK(Java Development Kit, 即Java开发工具包) 2. 安装Eclipse 集成开发环境 3.    安装SDK(Software Development Kit, 即软件开发工具包) 4.    安装ADT(Android Development Tools)插件 二.Android模拟机运行 打开Eclipse,如下图操作: 再进入AVD Manager,创建模拟机 模拟器

六 APPIUM Android 定位方式

文本转自:http://www.cnblogs.com/sundalian/p/5629500.html APPIUM Android 定位方式 1.定位元素应用元素 1.1通过id定位元素 Android里面定位的id一般为resrouce-id: 代码可以这样写: WebElement element = driver.findElement(By.id("com.tencent.mm:id/do")); 或者: driver.findElementById("com.t

百度Android定位SDK4.2

项目最近要把定位服务独立出来,所以顺便把定位服务升级到4.2最新版.以下记录一个简单的定位服务的实现(基于百度Android定位4.2版本) 1:首先到百度LBS平台申请密钥 地址是:http://developer.baidu.com/map/index.php 申请密钥需要安全码:你的Eclipse SHA1指纹(Preferences->Android->Build)+分号+应用程序包名 例如: FS:54:EB:47:23:F6:70:FD:DD:GF:53:FS:10:1F:1A:5

【tool】Android应用测试经验总结

Android应用测试经验总结 启动: 1. 启动入口:桌面正常启动,最近运行启动,所有程序列表中启动,锁屏快捷启动 2. 其他入口:从其他程序开启应用,从外部以文件形式打开应用(如果有) 3. 退回:从其他程序退回时回到被测应用,被测应用打开其他应用再从桌面图标启动 以上需要交叉组合测试. 4. 异常启动:崩溃后启动,写文件时被强制杀进程后启动,网络请求未收到回包强制杀进程后再启动,网络超时时启动(启动需要有超时机制) 功能介绍,引导图,流量提示等: 1 全新安装程序第一次启动,会有些初始化,

android monkeyrunner 测试工具

目前android SDK里自带的现成的测试工具有monkey 和 monkeyrunner两个.大家别看这俩兄弟名字相像,但其实是完完全全不同的两个工具,应用在不同的测试领域.总的来说,monkey主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自己定义发送的次数,以此观察被测应用程序的稳定性和可靠性,应用起来也比较简单,记住那几个命令就行了.而monkeyrunner呢,相比之下会强大一些,它主要可应用于功能测试,回归测试,并且可以自定义测试扩展,