获取用户';Android中的经纬度是多少?即使不使用listener?

获取用户';Android中的经纬度是多少?即使不使用listener?,android,emulation,latitude-longitude,avd,Android,Emulation,Latitude Longitude,Avd,我的应用程序只需要知道用户的国家,我的应用程序不关心用户移动到哪里 我只想知道: 当用户启动应用程序时,应用程序将向服务器发送用户的大致位置(纬度和经度) 这是我的错误代码。我尝试向getlocation函数发送一个字符串,希望它能够返回原始字符串,并添加纬度和经度信息 private String getlocation (String url){ LocationManager status = (LocationManager) (this.getSystemService(Con

我的应用程序只需要知道用户的国家,我的应用程序不关心用户移动到哪里

我只想知道: 当用户启动应用程序时,应用程序将向服务器发送用户的大致位置(纬度和经度)

这是我的错误代码。我尝试向getlocation函数发送一个字符串,希望它能够返回原始字符串,并添加纬度和经度信息

private String getlocation (String url){
    LocationManager status = (LocationManager) (this.getSystemService(Context.LOCATION_SERVICE));
    if (status.isProviderEnabled(LocationManager.GPS_PROVIDER) || status.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
        Log.v("print","enable to locate");
    } else {
        Log.v("print","fail to locate");
    }
    Location location = status.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);  
    if(location!=null){ 
      Log.v("print","succed!!!@@");
      Double longitude = location.getLongitude();
      String loc=Double.toString(longitude);
      url=url+loc;
    }
    else{
        Log.v("print","location return null");
     }
    return url;
}
我使用网络提供程序,它总是打印“启用定位”,然后打印“定位返回空”

所以我的代码有什么问题,我的位置总是返回null。 我使用AVD manerger,我也尝试GPS_提供商。我使用仿真器控件发送位置控件上的十进制数。它也不起作用

顺便说一下,我还设置了网络和GPS许可


非常感谢你的帮助

我通过以下代码获取位置,但在设置中启用“使用无线网络”,即(通过设置-位置服务-使用无线网络)


您是否检查了logcat是否要求在清单中添加权限?抱歉~您的意思是设置位置服务-在我的AVD手机上使用无线网络?我选择GPS、Wi-Fi和移动网络,但它不起作用。顺便问一下,locationManager是否需要用Asynctask编写?或者只是在MainActivity中写入就可以了?我使用了you's代码,当location.getLatitude()时,我的应用程序“不幸关闭”。它正在我的tablet 101上工作。银河系使用
public void getCurrentLocation() {

    LocationManager locationManager;
    String bestProvider;

    // Get the location manager
            locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);

            Criteria criteria = new Criteria();
            bestProvider = locationManager.getBestProvider(criteria, false);

            Location location = locationManager.getLastKnownLocation(bestProvider);
            Log.e(TAG, "Latitude: "+location.getLatitude()+" , Longitude: "+location.getLongitude());
}