android 基站 变化,(转)android定位之基站定位
前言:
GPS定位能提供精确,详细的数据。但是有的时候我们不能通过GPS获得数据,如在屋子里面,无GPS功能等情况。那我们就需要其他的定位手段,基站定位是一个不错的选择。
当我们手机开机时,手机会自动向信号最强的无线通讯台联系,注册信息,这个通讯台就是我们所说的基站,每个基站都有自己的id,我们通过这个基站的id能够找到基站的位置,而国内城市的基站密度可以达到500米以下或者更低,所以能够大体上确定我们的位置。
准备工具:
1.TelephonyManager:主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在这里我们就是通过这个类获得基站信息。
2.GsmCellLocation:装载着从TelephonyManager中获得的信息。
3.JSONObject,JSONArray:组建json相关的类。
4.联网相关的类。
代码:->
1.启动按钮和画板
mTextView=
(TextView) findViewById(R.id.textview);
mButton=
(Button) findViewById(R.id.button);
2.获得基站信息
mTManagerthis
.getSystemService(Context.TELEPHONY_SERVICE);
GsmCellLocationgcl
= (GsmCellLocation)mTManager.getCellLocation();
intcid
= gcl.getCid();
intlac
= gcl.getLac();
intmcc
= Integer.valueOf(mTManager.getNetworkOperator().substring(0,
3));
intmnc
= Integer.valueOf(mTManager.getNetworkOperator().substring(3,
5));
String getNumber ="";
getNumber += ("cid:"+cid
+"\n");
getNumber += ("cid:"+lac
+"\n");
getNumber += ("cid:"+mcc
+"\n");
移动国家号
getNumber += ("cid:"+mnc
+"\n");
移动网络号
3.创建json
try{
JSONObjectjObject
=newJSONObject();
jObject.put("version","1.1.0");
jObject.put("host","maps.google.com");
jObject.put("request_address",true);
if(mcc
== 460) {
jObject.put("address_language","zh_CN");
}else{
jObject.put("address_language","en_US");
}
JSONArray jArray =newJSONArray();
JSONObject jData =newJSONObject();
jData.put("cell_id",
cid);
jData.put("location_area_code",
lac);
jData.put("mobile_country_code",
mcc);
jData.put("mobile_network_code",
mnc);
jArray.put(jData);
jObject.put("cell_towers",
jArray);
4.创建连接,发送请求并接受回应
DefaultHttpClient client =newDefaultHttpClient();
HttpPost post =newHttpPost(
"http://www.google.com/loc/json");
StringEntity se =newStringEntity(jObject.toString());
post.setEntity(se);
HttpResponse resp = client.execute(post);
BufferedReader br =null;
if(resp.getStatusLine().getStatusCode()
== HttpStatus.SC_OK)
{
br =newBufferedReader(
newInputStreamReader(resp.getEntity().getContent()));
StringBuffer sb =newStringBuffer();
}
5.获得数据参见json
Server Response
StringBuffer sb =newStringBuffer();
String result = br.readLine();
while(result
!=null)
{
sb.append(getNumber);
sb.append(result);
result = br.readLine();
}
mTextView.setText(sb.toString());
添加相关permission:
android 基站 变化,(转)android定位之基站定位相关推荐
- Android 数字变化特效,Android自定义View之酷炫吊炸天的数字圆环
先看下最终的效果 开始实现 新建一个DoughnutView继承View public class DoughnutView extends View { } 先重写onMeasure方法,为什么要重 ...
- Android基站定位——单基站定位(二)
转载请标明出处:http://blog.csdn.net/android_ls/article/details/8672856 基站定位原理:通过手机信号获取基站信息,然后调用第三方公开的根据基站信息 ...
- Android基站定位——三基站(多基站)定位(三)
转载请标明出处:http://blog.csdn.net/android_ls/article/details/8673532 这一篇基于:Android基站定位--单基站定位(二) 阐述几个概念: ...
- android 定位服务和wifi,android WIFI定位和基站定位实现
android WIFI定位和基站定位实现 来源:互联网 作者:佚名 时间:2015-04-01 13:38 关于定位原理网上很多,这里就不多说了.下面说怎么实现的,直接贴代码如下:首先是Util类: ...
- Android之手机定位方式(GPS定位,网络定位,基站定位)
从前天学习GPS定位开始,这两天断断续续都在学习Android的三种基本定位方式. 1.GPS定位(基本Android机上都会有,缺点是必须在空旷的地方才有用) 2.网络定位(NetWork,这个很多 ...
- 可运行的GPS获取经纬度和获取基站例子(环境Android Studio 3.5.2扒拉能运行的例子找到太辛苦了要么版本太老。)
可运行的GPS获取经纬度和获取基站例子(环境Android Studio 3.5.2扒拉能运行的例子找到太辛苦了要么版本太老.) 为了检测GPS和基站修改结果,结合网络例子.单独抠出来可运行实例,GP ...
- android获取包版本,Android获取应用名称、版本号、应用包名称,移动设备ID、MAC地址、基站信息和手机型号等详细信...
创建一个android应用(AndroidTest),所需权限如下(AndroidManifest.xml文件): 接下来是MainActivity.java文件: package com.examp ...
- Android开发之实现Android原生定位
本文主要实现GPS定位的方式,通过Android原生API获取经纬度. Android定位服务LocationManager 需要添加的权限 // 添加权限 <uses-permission a ...
- 手机基站定位(安卓手机定位源码)
下面是手机基站定位代码: public class CellIDInfo {public int cellId;public String mobileCountryCode;public Strin ...
- Android之应用APN、WIFI、GPS定位小例子
转自一个网上项目,由于是例子打包下载,出处不详.例子中自我写入注释. Activity类: package com.maxtech.common; import com.maxtech.common. ...
最新文章
- arcgis 投影变换与坐标转换研究
- 2019年陕西省普通高校招生考生成绩统计表(理工、艺理、体育)
- 优酷路由宝刷梅林_优酷路由宝刷breed(不死)教程
- axure 如何设置选项联动_Axure下拉框级联操作
- c++获得总和S所需的最小硬币数量的函数(附完整源码)
- scp命令默认传输速度多大_每天一个linux命令(60):scp命令
- [转]SQL:JOIN用法
- Codeforces7C 扩展欧几里得
- SATI下载-安装-使用 一看便懂+spss聚类(附安装包)
- usb网卡android驱动win7+64,万能USB驱动 for win7 64bit v2017.11.15.955
- struts2上传 zip和rar文件类型
- 企业正确导入BPM系统要注意什么
- 手机自带html怎么卸载,手机自带软件怎么卸载
- lr_think_time()
- python调用小票打印机_PyQt5中使用Qprinter打印热敏小票
- 【视频】海康威视摄像头RTSP协议格式
- Apache CXF 简介
- 高性能数据库引擎 CoolHash 产品宣言 Fourinone4.0版新特性(转)
- 电脑考证必须用五笔输入吗
- win11 / win10 彻底删除系统“快速访问”中自动添加的文件夹 - 不再自动添加
热门文章
- fmincon函数求极值
- IP地址及子网划分计算题
- BUW EMX (Expert Moldbase Extentions) 13.0.2.1 x64 for Creo
- 大文件上传下载实现思路,分片、断点续传代码实现,以及webUpload组件
- Android面试线程,android 面试题 - 多线程部分
- 【渝粤教育】电大中专跨境电子商务理论与实务_1作业 题库
- 各种分类算法优缺点比较
- web前端课程设计——K.X的博客
- yolov3原理解析及代码流程
- 分享PC魔音Morin v2.6.5听歌·音乐神器