Android - 位置服务,禁用无线网络

时间:2013-07-24 09:23:57

标签: android android-location

我的应用通过启用的Wi-Fi / 3G获取用户位置,但手机设置中有一个选项可禁用以禁止应用获取您的位置。

我的问题是,在尝试占据其位置之前,我该如何检查是否已启用/停用?

目前我正在使用:

Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
String provider = LocationCall.getBestProvider(criteria, true);
    if (provider == null) {
        //No internet connection available OR location services has been turned off
    }

这有效,但我希望能够告诉用户我为什么不能选择他们的位置。


解决方案:

 String provider = LocationCall.getBestProvider(criteria, true);
    if ("gps".equals(provider) || provider == null) {
        Toast.makeText(getApplicationContext(), "Use Wireless Networks has been disabled in location settings", Toast.LENGTH_LONG).show();
    }

如果提供者仅等于gps或为null,则用户已禁用应用程序以通过网络获取其位置。

1 个答案:

答案 0 :(得分:1)

我写了一篇关于Android位置服务的博客文章,它包含有关如何检查哪些提供程序已启用的示例代码,提醒用户然后将其带到设置屏幕以启用它们。您可以在此处找到它:http://www.scotthelme.co.uk/blog/android-location-services/