我试图获取我的设备的位置,但只有一次成功运行代码几次。以下是我使用的代码:
final LocationListener mLocationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
Log.d(TAG, location.getLatitude() + ", " + location.getLongitude());
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
Log.d(TAG, "changed: " + s);
}
@Override
public void onProviderEnabled(String s) {
Log.d(TAG, "enabled: " + s);
}
@Override
public void onProviderDisabled(String s) {
Log.d(TAG, "disabled: " + s);
}
};
LocationManager mLocationManager = (LocationManager) getActivity().getSystemService(getActivity().getApplicationContext().LOCATION_SERVICE);
boolean enabled = mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
Log.d(TAG, "gps enabled?" + enabled);
Log.d(TAG, "network enabled?" + mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER));
Criteria criteria = new Criteria();
best = mLocationManager.getBestProvider(criteria, true);
Log.d(TAG, best);
Log.d(TAG, LocationManager.GPS_PROVIDER);
Log.d(TAG, LocationManager.NETWORK_PROVIDER);
mLocationManager.requestLocationUpdates(best, 0, 0, mLocationListener);
我在室内(我希望在室内工作),所以我一直让best
成为network
。 gps enabled
和network enabled
字符串都打印出来true
。是我不一致得到一个位置的原因,还是我可以采取一些措施来解决这个问题,以便我可以在室内找到一个位置?
答案 0 :(得分:2)