检查Google位置和搜索是否已启用

问题描述:

似乎从Android OS 4.1版有一个新设置,它允许谷歌应用程序使用用户位置。检查Google位置和搜索是否已启用

我深化发展使用谷歌地图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

感谢ü非常读我的问题。

+0

它抛出什么异常?你能告诉我们堆栈跟踪吗? – 2013-05-13 19:07:18

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

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,它使用了“接收地点,而无需实际启动位置锁定的一个特殊的位置提供”网络位置。谷歌没有做任何事情比在我看来使用最后两个选项... 我希望可以帮助...