通过SIM卡获取GPS,android基站定位原理

原创 2011年10月31日 09:51:04
TelephonyManager telManager=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
		GsmCellLocation glc=(GsmCellLocation) telManager.getCellLocation();
		int cid=glc.getCid();///gsm cell id, -1 if unknown, 0xffff max legal value 基站ID号
		int lac=glc.getLac();//写入区域代码
		String strOperator=telManager.getNetworkOperator();
		
		int mcc=Integer.valueOf(strOperator.substring(0, 3));//写入当前城市代码
		int mnc=Integer.valueOf(strOperator.substring(3, 5));//写入网络代码
		String getNumber="";
		getNumber+=("cid:"+cid+"\n");
		getNumber+=("cid:"+lac+"\n");
		getNumber+=("cid:"+mcc+"\n");
		getNumber+=("cid:"+mnc+"\n");
		
		try {
			JSONObject jObject=new JSONObject();
			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=new JSONArray();
			JSONObject jData=new JSONObject();
			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);
			DefaultHttpClient client=new DefaultHttpClient();
			HttpPost post=new HttpPost("http://www.google.com/loc/json");
			StringEntity se=new StringEntity(jObject.toString());
			post.setEntity(se);
			
			HttpResponse resp=client.execute(post);
			BufferedReader br=null;
			if(resp.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
				br=new BufferedReader(new InputStreamReader(resp.getEntity().getContent()));
				StringBuffer sb=new StringBuffer();
				
				String result=br.readLine();
				while(result!=null)
				{
					sb.append(getNumber);
					sb.append(result);
					result=br.readLine();
				}
				
				String s=sb.toString();
				s=s.substring(s.indexOf("{"));
				btn.setText(s);
				JSONObject jo=new JSONObject(s);
				
				String values="";
				JSONObject arr= jo.getJSONObject("location");
				String lat= arr.get("latitude").toString();
				String lon=arr.getString("longitude").toString();
				
				
				Toast.makeText(getApplicationContext(), "经度:"+lon+" 纬度:"+lat,1).show();
				
			}
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClientProtocolException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
最后还要加入网络访问权限
 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>



 

GPS、Wifi等各种手机定位方式的含义及原理详解

原版地址:【科普】GPS、Wifi等各种手机定位方式的含义及原理详解 http://bbs.feng.com/read-htm-tid-7709847.html 最近看到好多FY对手机定位...
  • Gavin_Fool
  • Gavin_Fool
  • 2016年02月26日 17:12
  • 9652

通过SIM卡获取GPS,android基站定位原理

TelephonyManager telManager=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); GsmCell...
  • kechanghe0705
  • kechanghe0705
  • 2011年10月31日 09:51
  • 3180

手机内置的定位系统是怎么实现定位的

   1、现在很多人都在用手机定位系统,在中国,在世界,安卓系统在智能手机的市场份额都是最高的,因此现在的安卓手机定位软件也是非常多的。但是很少人了解手机定位的原理,它是怎么工作的。   2、...
  • u014780643
  • u014780643
  • 2014年04月24日 10:14
  • 2039

GPS定位、基站定位、wifi定位

GPS定位、基站定位、wifi定位 1、卫星定位     其原理是接收机接收卫星广播,通过解析可见卫星的位置、距离等信息以及相应算法得出自己的位置信息,误差在15米范围内,当前可视卫星...
  • BBZZ2
  • BBZZ2
  • 2016年09月19日 11:33
  • 685

GPS定位\基站定位\WiFi辅助定位及其其他定位原理详解

首先说一下要阐述这些东西: 1、GPS定位。2、基站定位。3、WiFi辅助定位。4、AGPS定位。5、Glonass定位。6、北斗定位。7、定位举例。 从4s开始,iPhone手机具有以上...
  • lybeen2007
  • lybeen2007
  • 2015年09月23日 18:53
  • 3760

Android实现定位---GPS应用开发

最近要用到手机定位,学习了一些相关的知识。一下是
  • u013670933
  • u013670933
  • 2014年05月08日 16:53
  • 928

深入理解gps

原文地址  http://blog.csdn.net/innost?viewmode=contents 首先感谢各位兄弟姐妹们的耐心等待。根据今天得到的消息,本书预计在下周各大网店提供预订。注意...
  • lqxandroid2012
  • lqxandroid2012
  • 2015年11月26日 22:22
  • 2539

基站定位基础

什麼是基站?   什麼是基站? 移动电话基站为一个或多个地理区域提供覆盖的范围。一个手机网络是由基站共同经营,为用户提供服务,从某个地方到某个地方的覆盖范围内移动。移动电话基站必须控制好基站与基站...
  • u012917700
  • u012917700
  • 2016年09月01日 11:30
  • 962

利用手机基站获取位置

前一段时间,看到一个新闻,竟然光天化日,朗朗乾坤下,居然有人抢孩子,以前是拐卖,现在就开始明抢了!好可怕….正好项目中遇到了手机基站的一些原理,那今天就在这里分享一下,现在穿戴设备这么发达,如果能有效...
  • huangxiaoguo1
  • huangxiaoguo1
  • 2016年12月19日 16:57
  • 3868

RF—SIM卡技术详细原理及介绍

什么是RF-SIM卡RFSIM卡是可实现中近距离无线通信的手机智能卡。它通过将最新的射频技术集成到手机SIM卡里,使手机使用者仅需要更换一张智能卡,便可以使现有的手机变成类NFC手机。不但拥有普通SI...
  • Synthesize
  • Synthesize
  • 2011年04月25日 16:20
  • 2278
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通过SIM卡获取GPS,android基站定位原理
举报原因:
原因补充:

(最多只允许输入30个字)