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");elsejObject.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 blocke.printStackTrace();} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClientProtocolException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}最后还要加入网络访问权限 <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>


更多相关文章

  1. android在java中动态改变控件大小
  2. android 按钮按下效果2
  3. Android学习 数据存储之_文件存储
  4. H5调android 的方法修改UI无效
  5. Android(安卓)读取安装的非系统应用程序
  6. android:软件的安装和卸载源代码
  7. android Menu 菜单使用总结
  8. PC端与android手机端使用adb forword通信
  9. android actionBar右上角 menu 显示三个点

随机推荐

  1. Android支持单词提示搜索框的网络请求策
  2. android中如何获取视频时长
  3. Android(安卓)监听耳机外放设备
  4. android TelephonyManager
  5. Android(安卓)all app界面字体增加背景
  6. Android(安卓)Audio代码分析14 - testPla
  7. No 96 · android alertdialog
  8. Android(安卓)裁剪图片
  9. Android重写view时onAttachedToWindow ()
  10. android屏幕监听,手机是否处于锁屏状态,在