Android:如何获取手机网络提供商的位置

Android:如何获取手机网络提供商的位置,android,location,Android,Location,我对获取位置有非常基本的了解。我的要求是在不启用Wifi或Gps的情况下获取手机网络提供商的位置。我只需要获得基于手机网络提供商的位置。可能吗?如果是的话,你能帮我写一些代码片段吗。我感谢你的帮助。谢谢 看看这个线程类MyLocationActivity 扩展MapActivity{ 地图控制器; MyPositionOverlay; @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); se

我对获取位置有非常基本的了解。我的要求是在不启用Wifi或Gps的情况下获取手机网络提供商的位置。我只需要获得基于手机网络提供商的位置。可能吗?如果是的话,你能帮我写一些代码片段吗。我感谢你的帮助。谢谢

看看这个线程

类MyLocationActivity
扩展MapActivity{
地图控制器;
MyPositionOverlay;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MapView MapView=(MapView)findViewById(R.id.MapView);
mapController=mapView.getController();
//配置地图显示选项
mapView.setSatellite(真);
mapView.setStreetView(真);
mapView.DisplayZoomControl(假);
mapController.setZoom(17);
//添加MyPositionOverlay
positionOverlay=新的MyPositionOverlay();
List overlays=mapView.getOverlays();
叠加。添加(位置叠加);
地点经理地点经理;
字符串上下文=context.LOCATION\u服务;
locationmanager=(locationmanager)getSystemService(上下文);
字符串提供程序=LocationManager.NETWORK\u提供程序;
Location Location=locationmanager.getLastKnownLocation(提供者);
updateWithNewLocation(位置);
}
私有void updateWithNewLocation(位置){
如果(位置!=null){
位置叠加。设置位置(位置);
双纬度=location.getLatitude()*1E6;
Double lon=location.getLongitude()*1E6;
地质点=新的地质点(lat.intValue(),lon.intValue());
mapController.animateTo(点);
}
否则{
}
}
@凌驾
受保护的布尔值isRouteDisplayed(){
//TODO自动生成的方法存根
返回false;
}

}

Hmmm….我认为这条线索根本不相关。这个问题与获取基于网络(手机id、wifi)的位置有关。您提到的线程解释了如何获取可用网络运营商的列表。这与获取网络位置毫无关系。
class MyLocationActivity
extends MapActivity {
MapController mapController;
MyPositionOverlay positionOverlay;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    MapView mapView = (MapView) findViewById(R.id.mapview);
    mapController = mapView.getController();
    // Configure the map display options
    mapView.setSatellite(true);
    mapView.setStreetView(true);
    mapView.displayZoomControls(false);
    mapController.setZoom(17);
    // Add the MyPositionOverlay
    positionOverlay = new MyPositionOverlay();
    List<Overlay> overlays = mapView.getOverlays();
    overlays.add(positionOverlay);
    LocationManager locationmanager;
    String context=Context.LOCATION_SERVICE;
    locationmanager=(LocationManager) getSystemService(context);
    String provider=LocationManager.NETWORK_PROVIDER;
    Location location= locationmanager.getLastKnownLocation(provider);
    updateWithNewLocation(location);
}
private void updateWithNewLocation(Location location) {
    if(location!=null){
        positionOverlay.setLocation(location);
        Double lat=location.getLatitude()*1E6;
        Double lon=location.getLongitude()*1E6;
        GeoPoint point = new GeoPoint(lat.intValue(),lon.intValue());
        mapController.animateTo(point);
    }
    else{


    }

}

@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
}