1

似乎从 Android OS 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();
}

但它总是抛出异常。

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

编辑

我将尝试更清楚地解释它......在我的应用程序中,我只想以编程方式检查“位置和谷歌搜索”(如下图所示)是否被选中。

在此处输入图像描述

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

4

1 回答 1

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,它使用网络位置。在我看来,除了使用最后两个选项之外,谷歌没有做任何其他事情......我希望这会有所帮助......

于 2013-05-13T18:33:19.953 回答