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