如何在应用程序内检查 GPS 支持,以便为启用了定位服务的用户添加功能?
我担心的是,我知道我必须在清单中指定标签来声明应用程序使用位置服务,但我仍然希望应用程序为那些没有的人运行。我只是想检查一下,如果服务可用,就使用它;否则只需忽略该功能。
谢谢。
如何在应用程序内检查 GPS 支持,以便为启用了定位服务的用户添加功能?
我担心的是,我知道我必须在清单中指定标签来声明应用程序使用位置服务,但我仍然希望应用程序为那些没有的人运行。我只是想检查一下,如果服务可用,就使用它;否则只需忽略该功能。
谢谢。
您可以通过查看是否启用了任何位置提供程序来检查是否启用了任何位置服务。我现在在我的代码中使用这个函数:
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);