Android获取基站坐标代码
发布时间:2020-05-24 21:56:32 所属栏目:Java 来源:互联网
导读:Android获取基站坐标代码
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.telephony.gsm.GsmCellLocation;
import android.util.Log;
import android.widget.Toast;
public class TestStationLocationActivity extends Activity {
private static final String TAG = "TestStationLocationActivity";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Location location = getportLocation();
location.getLongitude();
Toast.makeText(this,location.getLatitude()+location.getLatitude()+"",100).show();
}
private Location getportLocation() {
Location loc = null ;
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
BufferedReader br = null;
try
{
GsmCellLocation gcl = (GsmCellLocation) tm.getCellLocation();
if (null == gcl)
{
return null;
}
int cid = gcl.getCid();
int lac = gcl.getLac();
int mcc = Integer.valueOf(tm.getNetworkOperator().substring(0,3));
int mnc = Integer.valueOf(tm.getNetworkOperator().substring(3,5));
JSONObject holder = new JSONObject();
holder.put("version","1.1.0");
holder.put("host","maps.google.com");
holder.put("request_address",true);
JSONArray array = new JSONArray();
JSONObject data = new JSONObject();
data.put("cell_id",cid);
data.put("location_area_code",lac);
data.put("mobile_country_code",mcc);
data.put("mobile_network_code",mnc);
array.put(data);
holder.put("cell_towers",array);
DefaultHttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://www.google.com/loc/json");
StringEntity se = new StringEntity(holder.toString());
post.setEntity(se);
HttpResponse resp = client.execute(post);
if (resp.getStatusLine().getStatusCode() == 200)
{
HttpEntity entity = resp.getEntity();
br = new BufferedReader(new InputStreamReader(entity.getContent()));
StringBuffer sb = new StringBuffer();
String result = br.readLine();
while (result != null)
{
sb.append(result);
result = br.readLine();
}
JSONObject data_ = new JSONObject(sb.toString());
data_ = (JSONObject) data_.get("location");
loc = new Location(LocationManager.NETWORK_PROVIDER);
loc.setLatitude((Double) data_.get("latitude"));
loc.setLongitude((Double) data_.get("longitude"));
Log.i(TAG,"latitude : " + loc.getLatitude() + " longitude : " + loc.getLongitude());
return loc;
}
return null;
}
catch (Exception e)
{
android.util.Log.e(TAG,"network get the latitude and longitude ocurr Exception error",e);
}
finally
{
if (null != br)
{
try
{
br.close();
}
catch (IOException e)
{
android.util.Log.e(TAG,"network get the latitude and longitude when closed BufferedReader ocurr IOException error",e);
}
}
}
return loc;
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
