【问题标题】:Check If Google Location & Search is enabled检查是否启用了 Google 位置和搜索
【发布时间】:2013-05-16 05:23:57
【问题描述】:

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

但它总是抛出异常。

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

编辑

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

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

【问题讨论】:

  • 它会抛出什么异常?你能告诉我们一个堆栈跟踪吗?

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-07-26
    • 2021-03-07
    • 2013-08-11
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    相关资源
    最近更新 更多