检查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如果“位置和谷歌搜索”(正如我在下面的图片中显示)被检查。
感谢ü非常读我的问题。
答
我不完全理解你的问题,尽管考虑做这样的事情也可能是一种方法。
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-13 19:07:18