即使設備未處於移動狀態,我也想獲取當前設備的經緯度。Android設備未移動時無法使用GPS獲取當前位置
試過requestLocationUpdates()
和requestSingleUpdate()
但我的位置仍然爲空。似乎只在位置發生變化時纔會調用LocationManager.onLocationChanged()
。我想發佈此地點的詳細信息,但每次都會失敗,並顯示NullPointerException
。
這裏是我的代碼示例:
活動:
startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, myLocationListener);
if (location == null) {
try {
locationManager.requestSingleUpdate(LocationManager.GPS_PROVIDER, myLocationListener, Looper.myLooper());
} catch (SecurityException e) {
}
}
//MyLocationListener
public void onLocationChanged(Location location) {
activity.setLocation(location);
}
}
}
清單:
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
嘗試用另一部手機 – lawonga
您使用的設備在室內? GPS需要很長時間才能在室內進行定位。 – basilisk
是的,我在室內使用 – unfitgeek