android 基站定位
- package cn.LocationStation;
- import java.io.BufferedReader;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.net.URL;
- import java.util.Date;
- import org.apache.http.HttpEntity;
- import org.apache.http.HttpResponse;
- import org.apache.http.client.methods.HttpPost;
- import org.apache.http.entity.StringEntity;
- import org.apache.http.impl.client.DefaultHttpClient;
- import org.json.JSONArray;
- import org.json.JSONObject;
- import android.app.Activity;
- import android.content.Context;
- import android.os.Bundle;
- import android.telephony.TelephonyManager;
- import android.telephony.gsm.GsmCellLocation;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- public class LocationStation extends Activity {
- TextView mTextView;
- Button mButton;
- TelephonyManager tm;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- mTextView = (TextView) findViewById(R.id.textView001);
- mButton = (Button) findViewById(R.id.Button001);
- tm = (TelephonyManager) this
- .getSystemService(Context.TELEPHONY_SERVICE);
- mButton.setOnClickListener(new Button.OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- GsmCellLocation gcl = (GsmCellLocation) tm.getCellLocation();
- int cid = gcl.getCid();
- int lac = gcl.getLac();
- int mcc = Integer.valueOf(tm.getNetworkOperator().substring(0,
- 3));
- int mnc = Integer.valueOf(tm.getNetworkOperator().substring(3,
- 5));
- try {
- // 组装JSON查询字符串
- JSONObject holder = new JSONObject();
- holder.put("version", "1.1.0");
- holder.put("host", "maps.google.com");
- // holder.put("address_language", "zh_CN");
- holder.put("request_address", true);
- JSONArray array = new JSONArray();
- JSONObject data = new JSONObject();
- data.put("cell_id", cid); // 25070
- data.put("location_area_code", lac);// 4474
- data.put("mobile_country_code", mcc);// 460
- data.put("mobile_network_code", mnc);// 0
- array.put(data);
- holder.put("cell_towers", array);
- // 创建连接,发送请求并接受回应
- DefaultHttpClient client = new DefaultHttpClient();
- HttpPost post = new HttpPost(
- "http://www.google.com/loc/json");
- StringEntity se = new StringEntity(holder.toString());
- post.setEntity(se);
- HttpResponse resp = client.execute(post);
- HttpEntity entity = resp.getEntity();
- BufferedReader br = new BufferedReader(
- new InputStreamReader(entity.getContent()));
- StringBuffer sb = new StringBuffer();
- String result = br.readLine();
- while (result != null) {
- sb.append(result);
- result = br.readLine();
- }
- JSONObject jsonObject = new JSONObject(sb.toString());
- JSONObject jsonObject1 = new JSONObject(jsonObject
- .getString("location"));
- getAddress(jsonObject1.getString("latitude"), jsonObject1
- .getString("longitude"));
- //mTextView.setText(sb.toString());
- } catch (Exception e) {
- // TODO: handle exception
- }
- }
- });
- }
- void getAddress(String lat, String lag) {
- try {
- URL url = new URL("http://maps.google.cn/maps/geo?key=abcdefg&q="
- + lat + "," + lag);
- InputStream inputStream = url.openConnection().getInputStream();
- InputStreamReader inputReader = new InputStreamReader(inputStream,
- "utf-8");
- BufferedReader bufReader = new BufferedReader(inputReader);
- String line = "", lines = "";
- while ((line = bufReader.readLine()) != null) {
- lines += line;
- }
- if (!lines.equals("")) {
- JSONObject jsonobject = new JSONObject(lines);
- JSONArray jsonArray = new JSONArray(jsonobject.get("Placemark")
- .toString());
- for (int i = 0; i < jsonArray.length(); i++) {
- mTextView.setText(mTextView.getText() + "\n"
- + jsonArray.getJSONObject(i).getString("address"));
- }
- }
- } catch (Exception e) {
- ;
- }
- }
- }
android 基站定位的更多相关文章
- Android基站定位
Android基站定位 一.通过手机信号获取基站信息 通过TelephonyManager 获取lac:mcc:mnc:cell-id(基站信息)的解释: MCC.Mobile Country C ...
- android基站定位程序获取地理位置
目录 一.设置界面 二.为按钮绑定事件 三.获取基站信息 四.获取经纬度 五.获取物理位置 六.显示结果 七.运行程序 八.总结 九.程序代码 正文 在Android操作系统下,基站定位其实很简单,先 ...
- 电脑上安装的android虚拟机,能进行基站定位和GPS定位吗?要怎么做才能定位?(转)
基站定位是通过电信运营商的服务来实现的,至少你得有SIM卡吧,一般电脑是不会有电话功能的吧,所以,通过基站定位不可能. GPS是需要有相应的硬件来支持的,类似于手机需要有GPS模块才可以,电脑一般没有 ...
- 百度定位SDK:弥补Android基站WIFI定位缺失
http://tech.qq.com/a/20120524/000347.htm 如今,基于位置信息的移动应用越来越多,从餐饮.购物等本地生活服务,到定向广告的匹配.移动社交网络的构建,LBS类应用的 ...
- 手机自带的显示基站命令(android手机定位,iphone基站定位)
手机自带的显示基站命令(安卓手机定位,苹果手机基站定位) 分类: 通信和网络2012-02-07 17:48 1734人阅读 评论(0) 收藏 举报 手机htciphone中兴三星网络 安卓手机自带快 ...
- Android手机定位技术的发展
基于以下三种方式的移动位置:1. 网络位置 :2. 基站定位. 3. GPS定位 1 网络位置 前提是连接到网络:Wifi.3G.2G 到达IP址 比如:彩虹版QQ,珊瑚虫版QQ,就有一个功能显示对 ...
- Android 百度定位SDKv4.2及6.0_百度定位实例_安卓定位实例
介绍 由于项目需要.前几天一直在研究百度定位的功能.通过不断的实践终于有结果了.不愿意独享 现在我把我的研究成果和大家分享一下.其实百度的 API 已经相当不错了 这之所以要写出来.一是自己做一个笔记 ...
- 关于GSM基站定位
一、基站定位两个参数 1、什么是LAC:Location Area Code(LAC)地区区域码,用来划分区域 2、什么是CellID:Cell Tower ID(Cid)CellID代表一个移动基站 ...
- 用百度API实现热(WIFI)、GPS、基站定位
直接在代码.. .嘎嘎 /** * 百度基站定位错误返回码 */ // 61 : GPS所在地结果 // 62 : 扫描整合的基础上有针对性的失败.在这一点上的定位结果无效. // 63 : 网络异常 ...
随机推荐
- sharedevelop iis express
sharedevelop 的IIS express的配置文件在 %userprofile%\documents\IISExpress\config\applicationhost.config 自动会 ...
- PHP超大文件下载,断点续传下载
源代码: <?php $sourceFile = "1.tmp"; //要下载的临时文件名 $outFile = "用户订单.xls"; //下载保存到客 ...
- 【转】Android中的颜色设置
原文网址:http://www.cnblogs.com/bluestorm/p/3644669.html 1.在android中经常看到设置的颜色为八位的十六进制的颜色值,例如: 1 2 3 publ ...
- [面试题] BloomFilter 无序40亿不重复 uint 整数, 给予任意的数,求是否在这40亿之中 + 无序数组中找2个相同的值
一道百度面试题(待解中) 具体:给40亿个不重复的unsigned int的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在那40亿个数当中? 分析下,首先应该是空间复杂度(40亿uint ...
- Java序列化 如何把多个对象存储在一个文件中
/** * 用于保存模板文件,内容包括: * 1,标志位,1 int * 2,版本 1 int * 3,数据头长度 1 int * 4,预留数据头空间 5120 byte * 5,后续数据长度 ...
- ASDL + WN725N 配置无线AP
1. ASDL 正常拨号上网 2. 安装TP-LINK无线客户端应用程序 打开之后选择模拟AP 如下图设置----应用 3. 本地连接----属性----高级 如下图设置 4. 宽带连接--- ...
- CentOS上安装MyCat-MySQL
1.安装JDK,要求JDK7以上. 2.下载MyCat,地址. 3.解压Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz,到usr/local/ ...
- python包管理工具
pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品.本文将详细说明 安装 pip 的方法和 使用 pip 的一些基本操作如安装.更新和卸载 python ...
- Windows下ffmpeg的完美编译
纠结了好几天,终于搞定了,小结一下. 1.下载ffmpeg源码,官网 2.编译环境Msys的安装配置,http://blog.csdn.net/jszj/article/details/4028716 ...
- return遇到finally
public class Test { public static void main(String[] args) { System.out.println("=============t ...