我有这种情况:我的Android服务位置已启用但我的gps(gps符号)未启用。
我想检查我的服务位置是否已启用并启动活动。 我想检查我的gps(请参阅gps打印屏幕 - gps符号)是否已启用,并向用户显示Toast消息。
以下代码检查我的gps(请参阅gps打印屏幕 - gps符号)是否已启用但不检查服务位置是否已启用。 < ==这是我需要...... thx
final LocationManager locationManager =
(LocationManager) context.getSystemService(context.LOCATION_SERVICE);
try {
gps_enabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
我需要识别这两种情况并处理这个......
假设我禁用了我的gps(背景)。 (参见gps打印屏幕 - gps符号) 和 我启用了服务定位。
答案 0 :(得分:1)
如果您使用LocationManager
确定哪些位置服务可用,则您可以判断位置服务是否已开启或关闭。例如,使用以下代码:
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
boolean isGpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
boolean isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
Log.d("LOCATION SERVICES", "isGpsEnabled="+isGpsEnabled+" isNetworkEnabled="+isNetworkEnabled);
如果设备位置服务已关闭,则isGpsEnabled
和isNetworkEnabled
都将为false。如果仅关闭GPS,但启用了位置服务,则isGpsEnabled
将为false,但isNetworkEnabled
为真。如果设备启用了位置服务,包括GPS,那么两者都将成立。