如果在后台

时间:2015-10-05 14:41:54

标签: android gps

我有这种情况:我的Android服务位置已启用但我的gps(gps符号)未启用。

service location

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符号) 和 我启用了服务定位。

1 个答案:

答案 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);

如果设备位置服务已关闭,则isGpsEnabledisNetworkEnabled都将为false。如果仅关闭GPS,但启用了位置服务,则isGpsEnabled将为false,但isNetworkEnabled为真。如果设备启用了位置服务,包括GPS,那么两者都将成立。