[android] 手机卫士手机定位的原理
手机定位的三种方式:网络定位,基站定位,GPS定位
网络定位,手机连上wifi 2g 3g的时候,手机会有一个ip,误差很大
基站定位,精确度与基站的多少有关,几十米到几公里的误差
GPS定位,至少需要三颗卫星才能定位,在空旷的地方准确
手机使用A-GPS需要网络来辅助定位,定位速度快,网络记录了上次的卫星轨道,
获取LocationManager对象,通过getSystemService(LOCATION_SERVICE)
调用LocationManager对象的requestLocationUpdates()方法,请求位置更新,参数:
定位方式(“gps”),更新时间(60000),更新距离(50),LocationListener对象
LocationListener是一个接口,需要做它的实现类
定义MyLocationListener实现LocationListener,实现它下面的方法
onLocationChanged(),当位置改变的时候回调,传递进来一个Location对象
调用location对象的getLongitude()方法,得到经度
调用Location对象的getLatitude()方法,得到维度
调用Location对象的getAccuracy()方法,得到精确度
onStatusChanged(),当状态改变的时候回调,关闭 开启
onProviderEnabled(),当某一个位置提供者可用了
onProviderDisabled(),当某一个位置提供者不可用了
当activity销毁的时候,取消监听位置
重写activity的onDestroy()方法
调用LocationManager对象的removeUpdates(),取消监听,参数:LocationListener对象
把LocationListener对象置为null,垃圾回收
需要的权限
android.permission.ACCESS_FINE_LOCATION 获取精准位置
android.permission.ACCESS_COARSE_LOCATION 获取粗略的位置
android.permission.ACCESS_MOCK_LOCATION 获取模拟的位置(模拟器开发的时候)
模拟器上,ddms里面发送以下位置,才能显示
国家对坐标进行了加偏处理,变成火星坐标,需要国家测绘局的插件,网上有火星坐标转换代码
package com.tsh.mylocation;import android.app.Activity; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast;public class MainActivity extends Activity {private LocationManager lm;private LocationListener listener;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取位置管理器lm=(LocationManager) getSystemService(LOCATION_SERVICE);listener=new MyLocationListener();lm.requestLocationUpdates("gps", 0, 0, listener);}private class MyLocationListener implements LocationListener{@Overridepublic void onLocationChanged(Location location) {//获取经度String longitude="经度:"+location.getLongitude();String latitude="纬度:"+location.getLatitude();String acc="精确度:"+location.getAccuracy();Toast.makeText(MainActivity.this, longitude+latitude+acc, 1).show();}@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {}@Overridepublic void onProviderEnabled(String provider) {}@Overridepublic void onProviderDisabled(String provider) {}} }
[android] 手机卫士手机定位的原理相关推荐
- 百度手机卫士精准定位伪基站
1.315期间,央视曝光了不法分子伪基站发送诈骗短信的违法行为引发政府和广大用户的关注.然而315刚过去不久,百度手机卫士就发现伪基站电信诈骗又呈现反弹趋势,不法分子非法生产.销售和使用"伪 ...
- Android项目实战--手机卫士
Android项目实战--手机卫士--结束 很久都没有来更新博客了,之前一直忙着工作的事,接触到了一些以前从来没有接触过的东西,真的挺有挑战性的,但也有很多的无奈,但也学习到了很多东西,我会慢慢的写到 ...
- 一秒识破诈骗信息 360手机卫士诈骗鉴定重磅上线
电信诈骗.网络欺诈,每位网民严防死守时刻注意避免上当,却在不知不觉间屡屡中招.究其原因,对网络诈骗.电信诈骗套路不了解,虚假号码.钓鱼链接.虚假信息肉眼真伪难辨.日前,360手机卫士上线"诈 ...
- 安卓_手机卫士_第五天(手机定位,设备管理器,电话归属地)
安卓手机卫士第五天(手机定位,设备管理器,电话归属地) 手机定位 网络定位 根据IP显示具体的位置, 原理是建立一个库那个IP地址对应那个地方:早期警方破案就采用此特点:纯真IP数据库软件介绍有局限性 ...
- Android核心基础(手机卫士的一个知识点总结)
注意:有些功能是需要权限的,在这里并没有写出来,在程序运行中,根据程序报的错误,添加相应的权限即可,里面的具体里面可能有一些小细节,没有明确的写出来,具体的需要在程序中自己调试,解决. 这个总结涵盖了 ...
- Android之手机卫士涉及的知识点总结
手机卫士涉及的知识点总结 Splash界面 splash: 溅,洒 展现产品的logo提升产品的知名度 初始化操作(创建数据库,读取配置文件) 连接服务器检查软件授权 连接服务器检查软件的更新 自动更 ...
- 向360手机卫士学习如何优化android程序性能
GMTC2016大会上的刘刚做了报告<360手机卫士性能优化之路>,从中学习到了很多干货,总结一下要点,有兴趣可以直接点击看看专访刘刚:360手机卫士的性能监控与优化 ppt下载地址:ht ...
- android仿照360壁纸照片显示特效,Android仿360桌面手机卫士悬浮窗效果
大家好,今天给大家带来一个仿360手机卫士悬浮窗效果的教程,在开始之前请允许我先说几句不相干的话. 不知不觉我发现自己接触Android已有近三个年头了,期间各种的成长少不了各位高手的帮助,总是有很多 ...
- Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果
转载自:http://blog.csdn.net/guolin_blog/article/details/8689140 大家好,今天给大家带来一个仿360手机卫士悬浮窗效果的教程,在开始之前请允许我 ...
最新文章
- java 动态多态性_java4 动态多态性
- 一个切割PDF文件的简单的方法 -只需要chrome浏览器
- RTP协议之Header结构解析
- Linux下unlink函数的使用
- 腾讯电脑管家13内测版官方下载地址
- mysql中binlog_format模式与配置详解
- robotframework 常用关键字
- l2-029 特立独行的幸福 (25分)_霜降后盆栽幸福树,调整4个地方,不用再怕掉叶子了...
- Mysql 使用sql语句快速复制表和数据
- 火狐浏览器读取ukey_火狐 83版引入HTTPS-Only模式 确保访问安全连接
- Install-Package Ninject -Project SportsStore.WebUI
- Mac OS X中Apache开启ssl
- Qt编译时报堆空间不足
- Windows系统服务原理
- photoshop照片尺寸
- 记录CheckBook状态:SharedPreferences存储器
- React Native ES6写法总结
- html按钮位置设置吗,html改变button按钮位置
- VUE中的鼠标右键功能
- 3D模型欣赏:《magician》次时代 美女 精灵
热门文章
- oracle裁员原因_Oracle大幅度裁员意味着什么?
- centos 卸载软件_Linux服务器运维必备技能 软件包和启动项超详细整理
- linux go missing git command,安装beego出现go: missing Git command
- Linux相关配置 集群免密码登录配置
- pythoncount函数怎么用_python中count函数简单的实例讲解
- 计算机四级的英文,计算机四级考试中英文术语对照
- 类库java_Java类库和常用类库介绍
- 在java中原始时间_Java 日期时间
- Java不是true值不变_Java语言中String a=a;String b=a; 为什么 a==b 值为 true?
- python项目选择背景_Python - - 项目实战 - - 游戏背景