如何判断Android中是否启用了位置检测

时间:2014-07-03 23:06:34

标签: android gps android-mapview android-maps-v2

我在活动中使用了MapView(v2),并启用了我的位置按钮

getMap().getUiSettings().setMyLocationButtonEnabled(true);
getMap().setMyLocationEnabled(true);

如果用户点击按钮,那么通常地图会以其位置为中心。

但在此之后,许多用户报告该按钮无法正常工作,我意识到该按钮仅在启用了Google设置中的位置选项时才有效。很遗憾,我无法找到检查该选项是否已启用的方法,因此我甚至无法告诉用户启用它。

如果未启用位置设置,我想向用户显示一个类似于Google地图应用程序中相同情况的对话框。但我无法知道该设置是否已启用!

1 个答案:

答案 0 :(得分:3)

您可以通过LocationManager执行此操作。例如:

LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
boolean networkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);