Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-位置服务,禁用无线网络_Android_Android Location - Fatal编程技术网

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

Android-位置服务,禁用无线网络,android,android-location,Android,Android Location,我的应用程序通过Wi-Fi/3G获取用户的位置,Wi-Fi/3G一直处于启用状态,但手机设置中有一个选项可禁用,不允许应用程序获取您的位置 我的问题是,在我尝试获取他们的位置之前,如何检查这是否已启用/禁用 目前我正在使用: Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_COARSE); String provider = LocationCall.getBestProvider(criter

我的应用程序通过Wi-Fi/3G获取用户的位置,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或为空,则用户已禁用应用程序以通过网络获取其位置。

我写了一篇关于Android定位服务的博客文章,其中包含如何检查哪些提供程序已启用的示例代码,提醒用户,然后将其带到设置屏幕以启用它们。你可以在这里找到它:

只需从你的AndroidManifest中删除所有权限。那些你不想从中获取位置的权限。这正是我要找的。谢谢