检查Google位置&搜索已启用

时间:2013-05-13 15:41:04

标签: android google-maps-android-api-2

似乎从Android操作系统版本4.1开始有一个新设置,允许谷歌应用程序使用用户位置。

我正在开发一个使用google maps api v2的应用程序,并通过使用以下行让我知道位置:

mMap.setMyLocationEnabled(true);    

现在我想检查用户是否检查了位置&谷歌搜索设置屏幕。

如果启用了wifi和gps,没有问题,但我无法找到检查谷歌位置的方法。搜索已启用,直到现在我刚刚找到以下代码:

try {
    int gEnable= settings.System.getInt(getActivity().getContentResolver(),Settings.ACTION_SEARCH_SETTINGS);
} catch (SettingNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

但它总是抛出异常。

非常感谢您阅读我的帖子。

修改

我会试着更清楚地解释一下...... 在我的应用程序中,我只想检查programmaticaly,如果"位置和谷歌搜索" (如下图所示)已经过检查。

enter image description here

非常感谢你阅读我的问题。

1 个答案:

答案 0 :(得分:0)

我不完全理解你的问题,但考虑做这样的事情也可能是一种方式。

    boolean enabled = locationManager
            .isProviderEnabled(LocationManager.GPS_PROVIDER);

    // Check if GPS is enabled, if not send user to GPS settings
    if (!enabled) {
        Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
        startActivityForResult(intent, 0);
    }

除了LocationManager.GPS_PROVIDER,您还可以要求

LocationManager.PASSIVE_PROVIDER,它是“一个特殊的位置提供者,用于接收位置而不实际启动位置修复”或 LocationManager.NETWORK_PROVIDER,它使用网络位置。谷歌除了使用我认为的最后两个选项外没有做任何其他事情...... 我希望有帮助...