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 : 网络异常 ...
随机推荐
- 【Markdown】Writing on Github - 在GitHub上写作
Writing on GitHub https://github.com/shalliestera/Writing-on-GitHub-Chinese-Translation Markdown 基本语 ...
- JPA--多对多关系
JPA中,多对多关系用@ManyToMany标示. 关系维护端: package com.yl.demo1.bean.manyTomany; import java.util.HashSet; imp ...
- 使用busybox制作rootfs
Build Busybox as a static binary(no shared libs),如果选择上,则busybox将以静态形式进行编译,否则将以动态方式编译.此外,还需要对交叉编译环境进行 ...
- UVA 1637 Double Patience
题意:36张扑克,平分成9摞,两张数字一样的可以拿走,每次随机拿两张,问能拿光的概率. 解法:记忆化搜索,状态压缩.一开始我想在还没拿的时候概率是1,然后往全拿光推···样例过不去···后来觉得推反了 ...
- BinaryReader和BinaryWriter的leaveOpen参数 z
在.NET 4.5后,微软为BinaryWriter和BinaryReader类型的构造函数中加入了leaveOpen参数,当该参数为true后,BinaryReader或者BinaryWriter关 ...
- 卸载sql server 2012
好不容易装上了sql server 2012数据库,可是却不能连接本地的数据库,后来发现缺少一些服务,于是决定重新安装,但是卸载却很麻烦,如果卸载不干净的话,重新安装会出问题,所以下面就总结一些方法: ...
- sonar之安装篇
sonar 是一个很好的质量度量平台,安装方式有很多种.下面我教大家使用j2ee 容器的方式安装,我们使用tomcat 1.准备: 1.1 环境redhat linux1.2 下载sonar 从htt ...
- pomelo环境搭建
在ubuntu上搭建pomelo环境 一 安装node.js 不要直接安装nodejs, 因为ubuntu上默认的nodejs版本是0.6的太老千万不要下tar包自己安装, 问题很多正确方法如下: ...
- LeetCode题解——Longest Palindromic Substring
题目: 给定一个字符串S,返回S中最长的回文子串.S最长为1000,且最长回文子串是唯一. 解法: ①遍历,对于每个字符,计算以它为中心的回文子串长度(长度为奇数),同时计算以它和右边相邻字符为中心的 ...
- BNUOJ-26480 Horror List 最短路
题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26480 题意:简单来说,就是给一个图,然后从每个honor list中的点求最短路.. 边 ...