代码之家  ›  专栏  ›  技术社区  ›  Brian Lacy

如何在应用程序中检查GPS支持,为启用定位服务的用户添加功能?

  •  0
  • Brian Lacy  · 技术社区  · 14 年前

    如何在应用程序中检查GPS支持,为启用定位服务的用户添加功能?

    我担心的是,我知道我必须在清单中指定标签来声明应用程序使用位置服务,但是我仍然希望应用程序能够为那些没有位置服务的人工作。我只想检查一下,如果服务可用,就使用它;否则就忽略这个特性。

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  6
  •   Dan Lew    14 年前

    通过查看是否启用了任何位置提供程序,可以检查是否启用了任何位置服务。我正在代码中使用此函数:

    public static boolean areProvidersEnabled(Context context) {
        ContentResolver cr = context.getContentResolver();
        String providersAllowed = Settings.Secure.getString(cr, Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
        return providersAllowed != null && providersAllowed.length() > 0;
    }
    

    另一个好处是,您可以将用户直接发送到位置设置,并询问他们是否要启用它。我将告诉您如何询问用户,但访问设置的目的如下:

    Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS);
    startActivity(intent);