1. package cn.LocationStation;
    2. import java.io.BufferedReader;
    3. import java.io.InputStream;
    4. import java.io.InputStreamReader;
    5. import java.net.URL;
    6. import java.util.Date;
    7. import org.apache.http.HttpEntity;
    8. import org.apache.http.HttpResponse;
    9. import org.apache.http.client.methods.HttpPost;
    10. import org.apache.http.entity.StringEntity;
    11. import org.apache.http.impl.client.DefaultHttpClient;
    12. import org.json.JSONArray;
    13. import org.json.JSONObject;
    14. import android.app.Activity;
    15. import android.content.Context;
    16. import android.os.Bundle;
    17. import android.telephony.TelephonyManager;
    18. import android.telephony.gsm.GsmCellLocation;
    19. import android.view.View;
    20. import android.widget.Button;
    21. import android.widget.TextView;
    22. public class LocationStation extends Activity {
    23. TextView mTextView;
    24. Button mButton;
    25. TelephonyManager tm;
    26. /** Called when the activity is first created. */
    27. @Override
    28. public void onCreate(Bundle savedInstanceState) {
    29. super.onCreate(savedInstanceState);
    30. setContentView(R.layout.main);
    31. mTextView = (TextView) findViewById(R.id.textView001);
    32. mButton = (Button) findViewById(R.id.Button001);
    33. tm = (TelephonyManager) this
    34. .getSystemService(Context.TELEPHONY_SERVICE);
    35. mButton.setOnClickListener(new Button.OnClickListener() {
    36. @Override
    37. public void onClick(View v) {
    38. // TODO Auto-generated method stub
    39. GsmCellLocation gcl = (GsmCellLocation) tm.getCellLocation();
    40. int cid = gcl.getCid();
    41. int lac = gcl.getLac();
    42. int mcc = Integer.valueOf(tm.getNetworkOperator().substring(0,
    43. 3));
    44. int mnc = Integer.valueOf(tm.getNetworkOperator().substring(3,
    45. 5));
    46. try {
    47. // 组装JSON查询字符串
    48. JSONObject holder = new JSONObject();
    49. holder.put("version", "1.1.0");
    50. holder.put("host", "maps.google.com");
    51. // holder.put("address_language", "zh_CN");
    52. holder.put("request_address", true);
    53. JSONArray array = new JSONArray();
    54. JSONObject data = new JSONObject();
    55. data.put("cell_id", cid); // 25070
    56. data.put("location_area_code", lac);// 4474
    57. data.put("mobile_country_code", mcc);// 460
    58. data.put("mobile_network_code", mnc);// 0
    59. array.put(data);
    60. holder.put("cell_towers", array);
    61. // 创建连接,发送请求并接受回应
    62. DefaultHttpClient client = new DefaultHttpClient();
    63. HttpPost post = new HttpPost(
    64. "http://www.google.com/loc/json");
    65. StringEntity se = new StringEntity(holder.toString());
    66. post.setEntity(se);
    67. HttpResponse resp = client.execute(post);
    68. HttpEntity entity = resp.getEntity();
    69. BufferedReader br = new BufferedReader(
    70. new InputStreamReader(entity.getContent()));
    71. StringBuffer sb = new StringBuffer();
    72. String result = br.readLine();
    73. while (result != null) {
    74. sb.append(result);
    75. result = br.readLine();
    76. }
    77. JSONObject jsonObject = new JSONObject(sb.toString());
    78. JSONObject jsonObject1 = new JSONObject(jsonObject
    79. .getString("location"));
    80. getAddress(jsonObject1.getString("latitude"), jsonObject1
    81. .getString("longitude"));
    82. //mTextView.setText(sb.toString());
    83. } catch (Exception e) {
    84. // TODO: handle exception
    85. }
    86. }
    87. });
    88. }
    89. void getAddress(String lat, String lag) {
    90. try {
    91. URL url = new URL("http://maps.google.cn/maps/geo?key=abcdefg&q="
    92. + lat + "," + lag);
    93. InputStream inputStream = url.openConnection().getInputStream();
    94. InputStreamReader inputReader = new InputStreamReader(inputStream,
    95. "utf-8");
    96. BufferedReader bufReader = new BufferedReader(inputReader);
    97. String line = "", lines = "";
    98. while ((line = bufReader.readLine()) != null) {
    99. lines += line;
    100. }
    101. if (!lines.equals("")) {
    102. JSONObject jsonobject = new JSONObject(lines);
    103. JSONArray jsonArray = new JSONArray(jsonobject.get("Placemark")
    104. .toString());
    105. for (int i = 0; i < jsonArray.length(); i++) {
    106. mTextView.setText(mTextView.getText() + "\n"
    107. + jsonArray.getJSONObject(i).getString("address"));
    108. }
    109. }
    110. } catch (Exception e) {
    111. ;
    112. }
    113. }
    114. }

android 基站定位的更多相关文章

  1. Android基站定位

    Android基站定位   一.通过手机信号获取基站信息 通过TelephonyManager 获取lac:mcc:mnc:cell-id(基站信息)的解释: MCC.Mobile Country C ...

  2. android基站定位程序获取地理位置

    目录 一.设置界面 二.为按钮绑定事件 三.获取基站信息 四.获取经纬度 五.获取物理位置 六.显示结果 七.运行程序 八.总结 九.程序代码 正文 在Android操作系统下,基站定位其实很简单,先 ...

  3. 电脑上安装的android虚拟机,能进行基站定位和GPS定位吗?要怎么做才能定位?(转)

    基站定位是通过电信运营商的服务来实现的,至少你得有SIM卡吧,一般电脑是不会有电话功能的吧,所以,通过基站定位不可能. GPS是需要有相应的硬件来支持的,类似于手机需要有GPS模块才可以,电脑一般没有 ...

  4. 百度定位SDK:弥补Android基站WIFI定位缺失

    http://tech.qq.com/a/20120524/000347.htm 如今,基于位置信息的移动应用越来越多,从餐饮.购物等本地生活服务,到定向广告的匹配.移动社交网络的构建,LBS类应用的 ...

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

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

  6. Android手机定位技术的发展

    基于以下三种方式的移动位置:1. 网络位置 :2. 基站定位. 3. GPS定位 1 网络位置 前提是连接到网络:Wifi.3G.2G 到达IP址  比如:彩虹版QQ,珊瑚虫版QQ,就有一个功能显示对 ...

  7. Android 百度定位SDKv4.2及6.0_百度定位实例_安卓定位实例

    介绍 由于项目需要.前几天一直在研究百度定位的功能.通过不断的实践终于有结果了.不愿意独享 现在我把我的研究成果和大家分享一下.其实百度的 API 已经相当不错了 这之所以要写出来.一是自己做一个笔记 ...

  8. 关于GSM基站定位

    一、基站定位两个参数 1、什么是LAC:Location Area Code(LAC)地区区域码,用来划分区域 2、什么是CellID:Cell Tower ID(Cid)CellID代表一个移动基站 ...

  9. 用百度API实现热(WIFI)、GPS、基站定位

    直接在代码.. .嘎嘎 /** * 百度基站定位错误返回码 */ // 61 : GPS所在地结果 // 62 : 扫描整合的基础上有针对性的失败.在这一点上的定位结果无效. // 63 : 网络异常 ...

随机推荐

  1. poj1947

    树上背包? 问最少断掉多少条边可以形成节点数为k的块 设f[i,j]表示以节点i为根,形成一个节点数为k的块要断多少条边 则有:f[x,j]:=min(f[x,j],f[x,j-k]+f[y,k]-2 ...

  2. 对于requirejs AMD模块加载的理解

    个人人为使用模块化加载的优点有三: 1,以我的项目为例:90%为图表展示,使用的是echarts,此文件较大,requirejs可以在同一个版本号(urlArgs)之下缓存文件,那么我就可以在访问登陆 ...

  3. 那些跟钱有关的事儿 z

    这是两段朴实的创业笔记,作者是王信文,2009年南京大学本科毕业,2009年9月到2013年3月在腾讯上海的互动娱乐部门工作,2013年3月到现在和几个前同事一起创立了莉莉丝游戏(手游刀塔传奇是他们后 ...

  4. python运算符的优先级

    运算符优先级 如果你有一个如2 + 3 * 4那样的表达式,是先做加法呢,还是先做乘法?我们的中学数学告诉我们应当先做乘法——这意味着乘法运算符的优先级高于加法运算符. 下面这个表给出Python的运 ...

  5. 初次接触Object对象变量

    Object 变量存储为 32 位(4 个字节)的地址形式,其为对象的引用.利用 Set 语句,声明为 Object 的变量可以赋值为任何对象的引用. 第一次注意到还有个数据类型,帮助文件里只有上面这 ...

  6. 《Python基础教程(第二版)》学习笔记 -> 第五章 条件、循环 和 其他语句

    条件和条件语句 下面的值在作为布尔表达式的时候,会被解释器看作假(False):False None    0    ""    ()    []    {} 条件执行和if语句 ...

  7. bug描述注意点

    一个好的错误跟踪系统包括了错误的必要信息,如果做得不好,会造成迷惑,并误导读者.好的故障描述应该包括十个基本部分:标题.项目.所属模块.优先级.重要性.异常等级.可重复性.现象.操作过程和附件. ①标 ...

  8. ArcGIS 10.2与CityEngine2013共存的安装

    直接上干货 大前提:由于License Manager的不同版本无法同时安装,因此要想ArcGIS和CityEngine共存其License Manger必须一致. 通过校验安装包中License M ...

  9. Oracle-PLSQL Developer使用笔记

    1.新建菜单 command window ---->命令行,执行sql语句 sql window ---->执行sql语句,可导出CSV,TSV,HTML,XML等类型文件 report ...

  10. nyoj 44 子串和

    子串和 时间限制:5000 ms  |  内存限制:65535 KB 难度:3   描述 给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最 ...