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. bzoj1934 bzoj2768

    最小割的经典模型,体现出最小割的基本定义,把两个集合划分的最小代价 把一开始同意的人连源点,不同意的连汇点,有关系的人之间连边,流量都为1 不难发现,割两点(人)间的边就相当于朋友之间发生冲突 割到连 ...

  2. TRSWCM学习问题总结

    1,置标属性"id"是用来制定调用那个栏目的数据(全字配备,可以文字匹配好奇怪,好不专业.所以建议创建栏目或者站点的时候,将唯一标识设置成英文,这样才符合程序比对习惯) 2,需要添 ...

  3. sencha touch 2 tabpanel中List的不显示问题,解决方案

    笔者在做sencha项目的时候碰到一个需求,就是"好友列表"中分为"未确认好友"和"已确认好友",两个都是一个list,自然想到的就是使用t ...

  4. vijos1603迷宫

    这题的构思太巧妙了: 经典题目8 给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数mod p的值    把给定的图转为邻接矩阵,即A(i,j)=1当且仅当存在一条边i->j. ...

  5. data guard折腾记一

    终于有空闲的机器腾出来了,生产环境上的一套Oracle环境终于可以鸟枪换炮了,生产环境有Data Guard,为了减少停机时间,而且避免重新构建Data Guard的麻烦(其实也不麻烦,就是浪费时间) ...

  6. Erlang分布式在linux和windows上的注意事项

    没事做,就在两台机器间测试下Erlang分布式的例子,一个台是windowsXP,一台装的redHat9,没有详细的文档,自己摸索着搞成功了,记录下. 1.首先,分布式Erlang的实现提供了自有的安 ...

  7. JPA简单知识

    ,JPA(Java Persistence API):通过注解或XML描述对象--关系表的映射关系,并将运行期的实体对象持久化到数据库中. JPA是一套规范,不是某个ORM产品,它主要包括以下3方面的 ...

  8. C# 中 string.Empty、""、null的区别

    原文C# 中 string.Empty."".null的区别 一.string.Empty 和 "" 1.Empty是string类中的一个静态的只读字段,它是 ...

  9. 魅族MX2代理设置

    魅族MX2买了快2年了,今天才知道有这个功能,唉 连接一个无线网络,比如我的centos 长按网络名字 选代理设置,设置自己的代理,再也不用SS 或 VPN 的android端了,老是提示ROOT权限 ...

  10. HGE初始化状态设置

    HGE_FRAMEFUNC:     最重要的设置,每个HGE应用必须设置.游戏的主循环就是他了.类型为bool*(),返回真那么主循环退出,游戏也就结束了.否则进行必要的处理后返回假.必须在调用进入 ...