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. ...
最新文章
- 图书资料管理课程设计(附源码和连接)
- ASP.NET MVC+Spring.net+Nhibernate+EasyUI+Jquery开发案例(1)
- Google Xpath Helper
- OpenCV防止数据溢出saturate_cast
- 精准高效估计多人3D姿态,美图北航分布感知式单阶段模型(CVPR 2022)
- 组件:参数验证、组件:事件传递
- 游戏筑基开发之初识指针
- 5个优化页面加载速度提高SEO排名的最佳实践
- SNS光纤交换机命令及作用
- IBM制造业专家赵亮:汽车及制造业质量体系管理
- 华为云视频会议系统介绍,云南昆明企业智能云视频会议系统解决方案
- 因果推断-Uplift Model:Causal Tree
- EventEmitter练习之--匿名聊天室
- SAP UI5 应用开发教程之一百 - 如何修改 SAP UI5 框架的源代码实现,以及使用本地部署的 SAP UI5 SDK 试读版
- SQL Server numeric数据类型
- 仿真(Simulation)
- Mac版excel如何快速进行数据拆分?
- 2021年福建高考成绩排名查询,福建高考排名查询方法,2021年福建高考成绩位次全省排名查询...
- C语言 五种基本的算术运算符
- 从0开始学股票第四课之量能的基本知识之成交量