【发布时间】:2014-01-12 13:11:44
【问题描述】:
我正在尝试获取 android 中的当前位置,因为我使用了 android,以下是我的代码
locationManager = (LocationManager) getSystemService(this.context.LOCATION_SERVICE);
Criteria crta = new Criteria();
crta.setAccuracy(Criteria.ACCURACY_FINE);
crta.setAltitudeRequired(true);
crta.setBearingRequired(true);
crta.setCostAllowed(true);
crta.setPowerRequirement(Criteria.POWER_LOW);
String provider = locationManager.getBestProvider(crta, true);
Log.d("","provider : "+provider);
provider = LocationManager.GPS_PROVIDER;
Log.d("","provider : "+provider);
locationManager.requestLocationUpdates(provider, 0, 0, (LocationListener) this);
Location location = locationManager.getLastKnownLocation(provider);
//isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
if (location != null)
{
double latitude = location.getLatitude();
double longitude = location.getLongitude();
txtLat.setText("Latitude"+latitude+"longitude"+longitude);
Log.d("not null", "location is not null");
}
else
{
Toast.makeText(getApplicationContext(), "locatyion is null", Toast.LENGTH_LONG).show();
Log.d("null","location is null");
}
问题是,当我打开应用程序时,它没有给我当前位置,该位置为空。任何人都可以帮忙吗?我看过很多例子,也尝试过其他例子,但没有奏效。 我已经添加了
if (!isNetworkEnabled)
{
Toast.makeText(getApplicationContext(), "No network provider the gps wont work", Toast.LENGTH_LONG).show();
// no network provider is enabled
}
else{
Toast.makeText(getApplicationContext(), "Network is available", Toast.LENGTH_LONG).show();
}
它说gps可用但网络不可用
【问题讨论】: