易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
Android获取基站坐标代码
Android获取基站坐标代码:
package
com.su.station;
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;
}
}
更多Android相关信息见
Android
专题页面
http://www.linuxidc.com/topicnews.aspx?tid=11
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图