基于以下三种方式的移动位置:1. 网络位置 ;2. 基站定位。 3. GPS定位

1 网络位置

前提是连接到网络:Wifi、3G、2G

到达IP址

 比如:彩虹版QQ,珊瑚虫版QQ,就有一个功能显示对方的IP;

 依据IP显示详细的位置;



 原理是建立一个库那个IP地址相应那个地方。早期警方破案就採用此特点;



 有局限性:针对固定的IP地址。

 假设手机网或者ip地址是动态分布IP,这个偏差就非常大。

这样的情况是无法满足需求的。

2 基站定位

工作原理:手机能打电话,是须要基站的。手机定位也是用基站的。

手机附近能收到3个基站的信号,就能够定位了。

基站定位有可能非常准确。比方基站多的地方;

假设基站少的话就会相差非常大。

准确度:几十米到几公里不等;

3 GPS定位

A-GPS 使用了卫星定位 须要联网辅助修正位置(手机常常使用,优先请求网络,获取之前保存的卫星轨道的信息cache,)

特点是:须要搜索卫星, 头顶必须是空旷的;



影响条件:云层、大厦、大树。

下面是实现的代码:

  1. package com.andy.gpsdemo;
  2.  
  3. import com.example.gpsdemo.R;
  4.  
  5. import android.support.v7.app.ActionBarActivity;
  6. import android.widget.TextView;
  7. import android.location.Criteria;
  8. import android.location.Location;
  9. import android.location.LocationListener;
  10. import android.location.LocationManager;
  11. import android.os.Bundle;
  12.  
  13. public class MainActivity extends ActionBarActivity {
  14. // 位置服务
  15. private LocationManager locationManager;
  16.  
  17. @Override
  18. protected void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.activity_main);
  21.  
  22. locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
  23.  
  24. /*List<String> provider = locationManager.getAllProviders();
  25. for (String string : provider) {
  26. System.out.println(string);
  27. }*/
  28.  
  29. // 注冊监听位置服务
  30. // 给位置提供者设置条件
  31. Criteria criteria = new Criteria();
  32. criteria.setAccuracy(Criteria.ACCURACY_FINE);// 获取精确的位置
  33. // criteria.setAccuracy(Criteria.ACCURACY_FINE);//设置为最大精度
  34. // criteria.setAltitudeRequired(false);//不要求海拔信息
  35. // criteria.setBearingRequired(false);//不要求方位信息
  36. // criteria.setCostAllowed(true);//是否同意付费
  37. // criteria.setPowerRequirement(Criteria.POWER_LOW);//对电量的要求
  38.  
  39. String proveder = locationManager.getBestProvider(criteria, true);
  40. locationManager.requestLocationUpdates(proveder, 0, 0,
  41. new LocationListener() {
  42.  
  43. @Override
  44. public void onLocationChanged(Location location) {
  45. // 当改变位置时回调
  46. String longitude = "经度:" + location.getLongitude();
  47. String latitudeString = "维度:" + location.getLatitude();
  48. String accuracy = "准确度:" + location.getAccuracy();
  49. TextView textView = new TextView(MainActivity.this);
  50. textView.setText(longitude + "\n" + latitudeString
  51. + "\n" + accuracy);
  52.  
  53. setContentView(textView);
  54. }
  55.  
  56. @Override
  57. public void onProviderDisabled(String provider) {
  58. // 当一个位置提供者不能够使用
  59. }
  60.  
  61. @Override
  62. public void onProviderEnabled(String provider) {
  63. // 当一个位置提供者能够使用
  64. }
  65.  
  66. @Override
  67. public void onStatusChanged(String provider, int status,
  68. Bundle extras) {
  69. // 当状态发生改变的时候回调 开启--关闭 。关闭--开启
  70. }
  71.  
  72. });
  73. }
  74.  
  75. }

布局文件为:

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:paddingBottom="@dimen/activity_vertical_margin"
  6. android:paddingLeft="@dimen/activity_horizontal_margin"
  7. android:paddingRight="@dimen/activity_horizontal_margin"
  8. android:paddingTop="@dimen/activity_vertical_margin"
  9. tools:context="com.andy.gpsdemo.MainActivity" >
  10.  
  11. <TextView
  12. android:textSize="22sp"
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"
  15. android:text="@string/hello_world" />
  16.  
  17. </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手机定位技术的发展的更多相关文章

  1. 陆教授浅谈5G毫米波手机天线技术的发展现状和未来的应用场景

    近日,香港城大电子工程学系讲座教授陆贵文教授荣获英国皇家工程院院士荣衔,以表彰他在推动天线研究的卓越贡献.他研发的天线由L形探针馈电微带天线.磁电耦极天线,以至5G毫米波手机天线等技术,均在天线领域影 ...

  2. 手机自带的显示基站命令(android手机定位,iphone基站定位)

    手机自带的显示基站命令(安卓手机定位,苹果手机基站定位) 分类: 通信和网络2012-02-07 17:48 1734人阅读 评论(0) 收藏 举报 手机htciphone中兴三星网络 安卓手机自带快 ...

  3. 改Android手机定位位置

    手机定位方法 1,gps等卫星定位,如美国的gps,欧洲的伽利略,中国的北斗等,通过至少三颗卫星,用三角定位和时间等算法,计算出设备的经纬度,到地图上找到这个经纬度的地名 2,移动运营商基站定位,通过 ...

  4. LTE时代的定位技术:OTDOA,LPP,SUPL2.0

    LTE时代的定位技术:OTDOA,LPP,SUPL2.0 移动定位技术的发展历程 如今智能手机已经在整个社会普及,数量众多的手机应用成为了人们生活当中不可或缺的一部分.越来越多的手机应用都用到了手机定 ...

  5. 3G中的A-GPS移动定位技术

    位置业务(LBS,Location Based Service)是指移动网络通过特定的定位技术来获取移动终端的位置信息,从而为终端用户提供附加服务的一种增值业务,可广泛应用于紧急救援.导航追踪.运输调 ...

  6. 全面了解Android热修复技术

    WeTest 导读 本文探讨了Android热修复技术的发展脉络,现状及其未来. 热修复技术概述 热修复技术在近年来飞速发展,尤其是在InstantRun方案推出之后,各种热修复技术竞相涌现.国内大部 ...

  7. 【Android】第18章 位置服务和手机定位—本章示例主界面

    分类:C#.Android.VS2015: 创建日期:2016-03-04 一.简介 目前,基于位置的服务发展迅速,已涉及到商务.医疗.定位.追踪.敏感区域警告.工作和生活等各个方面.定位服务融合了G ...

  8. [android] 手机卫士手机定位的原理

    手机定位的三种方式:网络定位,基站定位,GPS定位 网络定位,手机连上wifi 2g 3g的时候,手机会有一个ip,误差很大 基站定位,精确度与基站的多少有关,几十米到几公里的误差 GPS定位,至少需 ...

  9. Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息

    Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息 本文目录: 获取手机信息 设置权限 申请权限 查询联系人 获取手机定位信息 调用高德地图,设置显示2个坐标点的位置,以及 ...

随机推荐

  1. NPOI 创建Excel,数据读取与写入

    <1> using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...

  2. 基于.net开发chrome核心浏览器【二】

    原文:基于.net开发chrome核心浏览器[二] 一: 上一篇的链接: 基于.net开发chrome核心浏览器[一] 二: 相关资源介绍: chrome Frame: 让IE有一颗chrome的心, ...

  3. 使用javascript开发2048

    嗯,团队队友开发了一个简单的2048...哈哈,没办法,这游戏那么疯狂,必须搞搞啦,大家能够直接粘贴代码到一个html文件,直接执行就可以 依赖文件:jquery,假设乜有,大家能够自己下载一份 &l ...

  4. 1pdf

    Document doc = new Document(new iTextSharp.text.Rectangle(564, 351));  PdfWriter writer= PdfWriter.G ...

  5. 如何设置一个activity透明

    1.在AndroidManifest.xml文件中设置: android:theme="@android:style/Theme.Translucent 此代码固定为全背景透明. 2.在Ac ...

  6. kindeditor-网页文字编辑

    实例下载地址:http://download.csdn.net/download/l294333475/7941759 <!DOCTYPE html PUBLIC "-//W3C//D ...

  7. cocos3——8.实现初学者指南

    1.采用ClippingNode裁剪范围 写作物接口: function createClipNode(node, stencil, inverted) { var clip_node = new c ...

  8. go语言实现遍历目录,及查找特定的文件类型

    // filelist.go package main import ( //"flag" "fmt" "os" "path/fi ...

  9. Android MVC MVP

    从.NET的宠物商店到Android MVC MVP   1 一些闲话 记得刚进公司的时候,我们除了做常规的Training Project外,每天还要上课,接受各种技术培训和公司业务介绍.当时第一次 ...

  10. leetcode——Evaluate Reverse Polish Notation 求算式值(AC)

    Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...