当前位置: 代码迷 >> Android >> android 位置定位(透过基站方式辅助定位)
  详细解决方案

android 位置定位(透过基站方式辅助定位)

热度:77   发布时间:2016-05-01 13:55:52.0
android 位置定位(通过基站方式辅助定位)
一般定位都是通过gps定位器,但这个过程比较慢.这里可以通过基站方式辅助定位
代码:
    private TelephonyManager TMmanager;    private void helpGetLocion() throws Exception    {        //获取服务        TMmanager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);        GsmCellLocation gcl = (GsmCellLocation) TMmanager.getCellLocation();        //获取位置信息        int cid = gcl.getCid();        int lac = gcl.getLac();        int mcc = Integer.valueOf(TMmanager.getNetworkOperator()            .substring(0, 3));        int mnc = Integer.valueOf(TMmanager.getNetworkOperator()            .substring(3, 5));        //        String[] getNumber = "";        //        getNumber+={"cid:"+cid+"\n"};        //create json        JSONObject jobject = new JSONObject();        JSONArray jarray = new JSONArray();        JSONObject jData = new JSONObject();        jobject.put("version", "1.1.0");        jobject.put("host", "maps.google.com");        jobject.put("request_address", true);        Log.d("tracy", "mcc=" + mcc);        if (mcc == 460)        {            jobject.put("addess_language", "zh_CN");        }        else        {            jobject.put("addess_language", "en_US");        }        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)        {            Log.d("tracy", "HttpStatus.SC_OK");            br = new BufferedReader(new InputStreamReader(resp.getEntity()                .getContent()));        }        StringBuffer sb = new StringBuffer();        String result = br.readLine();        while (result != null)        {            sb.append(result);            result = br.readLine();        }        //返回的数据,这个是json格式的数据,如果要解析可以网上搜下json object        mTextView.setText(sb.toString());    }
  相关解决方案