Android手机定位技术的发展
基于以下三种方式的移动位置:1. 网络位置 ;2. 基站定位。 3. GPS定位
1 网络位置
前提是连接到网络:Wifi、3G、2G
到达IP址
比如:彩虹版QQ,珊瑚虫版QQ,就有一个功能显示对方的IP;
依据IP显示详细的位置;
原理是建立一个库那个IP地址相应那个地方。早期警方破案就採用此特点;
有局限性:针对固定的IP地址。
假设手机网或者ip地址是动态分布IP,这个偏差就非常大。
这样的情况是无法满足需求的。
2 基站定位
工作原理:手机能打电话,是须要基站的。手机定位也是用基站的。
手机附近能收到3个基站的信号,就能够定位了。
基站定位有可能非常准确。比方基站多的地方;
假设基站少的话就会相差非常大。
准确度:几十米到几公里不等;
3 GPS定位
A-GPS 使用了卫星定位 须要联网辅助修正位置(手机常常使用,优先请求网络,获取之前保存的卫星轨道的信息cache,)
特点是:须要搜索卫星, 头顶必须是空旷的;
影响条件:云层、大厦、大树。
下面是实现的代码:
package com.andy.gpsdemo; import com.example.gpsdemo.R; import android.support.v7.app.ActionBarActivity;
import android.widget.TextView;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle; public class MainActivity extends ActionBarActivity {
// 位置服务
private LocationManager locationManager; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); /*List<String> provider = locationManager.getAllProviders();
for (String string : provider) {
System.out.println(string);
}*/ // 注冊监听位置服务
// 给位置提供者设置条件
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);// 获取精确的位置
// criteria.setAccuracy(Criteria.ACCURACY_FINE);//设置为最大精度
// criteria.setAltitudeRequired(false);//不要求海拔信息
// criteria.setBearingRequired(false);//不要求方位信息
// criteria.setCostAllowed(true);//是否同意付费
// criteria.setPowerRequirement(Criteria.POWER_LOW);//对电量的要求 String proveder = locationManager.getBestProvider(criteria, true);
locationManager.requestLocationUpdates(proveder, 0, 0,
new LocationListener() { @Override
public void onLocationChanged(Location location) {
// 当改变位置时回调
String longitude = "经度:" + location.getLongitude();
String latitudeString = "维度:" + location.getLatitude();
String accuracy = "准确度:" + location.getAccuracy();
TextView textView = new TextView(MainActivity.this);
textView.setText(longitude + "\n" + latitudeString
+ "\n" + accuracy); setContentView(textView);
} @Override
public void onProviderDisabled(String provider) {
// 当一个位置提供者不能够使用
} @Override
public void onProviderEnabled(String provider) {
// 当一个位置提供者能够使用
} @Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
// 当状态发生改变的时候回调 开启--关闭 。关闭--开启
} });
} }
布局文件为:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.andy.gpsdemo.MainActivity" > <TextView
android:textSize="22sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" /> </RelativeLayout>
须要增加的权限为:
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>//模拟器測试使用
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Android手机定位技术的发展的更多相关文章
- 陆教授浅谈5G毫米波手机天线技术的发展现状和未来的应用场景
近日,香港城大电子工程学系讲座教授陆贵文教授荣获英国皇家工程院院士荣衔,以表彰他在推动天线研究的卓越贡献.他研发的天线由L形探针馈电微带天线.磁电耦极天线,以至5G毫米波手机天线等技术,均在天线领域影 ...
- 手机自带的显示基站命令(android手机定位,iphone基站定位)
手机自带的显示基站命令(安卓手机定位,苹果手机基站定位) 分类: 通信和网络2012-02-07 17:48 1734人阅读 评论(0) 收藏 举报 手机htciphone中兴三星网络 安卓手机自带快 ...
- 改Android手机定位位置
手机定位方法 1,gps等卫星定位,如美国的gps,欧洲的伽利略,中国的北斗等,通过至少三颗卫星,用三角定位和时间等算法,计算出设备的经纬度,到地图上找到这个经纬度的地名 2,移动运营商基站定位,通过 ...
- LTE时代的定位技术:OTDOA,LPP,SUPL2.0
LTE时代的定位技术:OTDOA,LPP,SUPL2.0 移动定位技术的发展历程 如今智能手机已经在整个社会普及,数量众多的手机应用成为了人们生活当中不可或缺的一部分.越来越多的手机应用都用到了手机定 ...
- 3G中的A-GPS移动定位技术
位置业务(LBS,Location Based Service)是指移动网络通过特定的定位技术来获取移动终端的位置信息,从而为终端用户提供附加服务的一种增值业务,可广泛应用于紧急救援.导航追踪.运输调 ...
- 全面了解Android热修复技术
WeTest 导读 本文探讨了Android热修复技术的发展脉络,现状及其未来. 热修复技术概述 热修复技术在近年来飞速发展,尤其是在InstantRun方案推出之后,各种热修复技术竞相涌现.国内大部 ...
- 【Android】第18章 位置服务和手机定位—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-03-04 一.简介 目前,基于位置的服务发展迅速,已涉及到商务.医疗.定位.追踪.敏感区域警告.工作和生活等各个方面.定位服务融合了G ...
- [android] 手机卫士手机定位的原理
手机定位的三种方式:网络定位,基站定位,GPS定位 网络定位,手机连上wifi 2g 3g的时候,手机会有一个ip,误差很大 基站定位,精确度与基站的多少有关,几十米到几公里的误差 GPS定位,至少需 ...
- Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息
Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息 本文目录: 获取手机信息 设置权限 申请权限 查询联系人 获取手机定位信息 调用高德地图,设置显示2个坐标点的位置,以及 ...
随机推荐
- WPF界面设计技巧(7)—模拟电梯升降的缓动动画
原文:WPF界面设计技巧(7)-模拟电梯升降的缓动动画 如同Flash一样,WPF的亮点之一也在于其擅于表现平滑的动画效果,但以移动动画来说,仅凭简单的起始位置.目标位置,所产生的动画仍会非常生硬,这 ...
- 最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决
自从SEOTcs系统11月份24日更新了一下SEO得分算法以来,一直困扰我的一个问题出现了,java的数据job任务,在执行过程中会经常报以下的错误: “2011-12-03 18:00:32 Def ...
- 共享库方案解决WAS中JAR包冲突
实现步骤: 1. 准备共享库JAR包 commons-httpclient-3.1.jar httpclient-4.3.3.jar httpcore-4.3.2.jar httpmim ...
- Cantor的数表 【找规律】
小俞同学,近期勤学苦练数学,对一种数表产生了兴趣. 数表例如以下: 1/1 1/2 1/3 1/4 1/5 2/1 2/2 2/3 2/4 3/1 3/2 3/3 4/1 4/2 5/1 她冥思苦相了 ...
- Ansj配置指南!
=.= 折腾死 ①你想要http://maven.ansj.org/org/ansj/ansj_seg/找一个尽可能高的版本号,比方2.0.7,点进去之后找到相应的jar,比方ansj_seg-2.0 ...
- WEB打印的几种方案
-------------------------------------------一 基于Web的打印方案比较分析-------------------------------- 基于web的套 ...
- Duanxx的C++学习: const指针具体解释
Const指的是一个编译时的常量. keywordconst使得代码能够确定一个变量能否够被改动. 使用了const后,能够防止对变量或者指针的改动:更重要的是,const的引用能够防止对所引用的对象 ...
- FS SIP呼叫的消息线程和状态机线程
THREAD 当收到一次呼叫的时候,FS会在TU层创建两个线程,一个线程为状态机线程,另外一个为消息线程.状态机线程通过switch_core_session_thread_launch创建,顾名思义 ...
- Oracle 阅读器-刚看完表空间回复的详细解释
(一) 当使用一个控制文件的备份恢复,例如下面的附图.使用备份控制文件恢复位置 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGVtb25zb24=/fo ...
- HDU4144:Bacon's Cipher
Problem Description Bacon's cipher or the Baconian cipher is a method of steganography (a method of ...