即使设备没有移动,我也想获得设备的当前纬度和经度。
都试过了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" />