GPS isProviderEnabled总是返回false

 aaa521125aaa 发布于 2023-01-29 06:18

我有这个代码

 lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
 boolean isGPS = lm.isProviderEnabled (LocationManager.GPS_PROVIDER);

即使启用GPS,它也始终返回false.GPS正常工作,但我使用此布尔值显示弹出"没有启用GPS".在这种情况下,弹出窗口每次都会出现

    我检查了类似的问题,但它对我没有帮助.

    是的,我有权在我的清单中

    我在onResume方法中使用此代码

感谢帮助.

2 个回答
  • 试试这种方式..

    private void turnGPSOn(){   
    String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);   
    if(!provider.contains("gps")){      
        final Intent poke = new Intent();  
        poke.setClassName("com.android.settings","com.android.settings.widget.SettingsAppWidgetProvider");           
        poke.addCategory(Intent.CATEGORY_ALTERNATIVE);   
        poke.setData(Uri.parse("3"));      
        sendBroadcast(poke);  
        } 
    }  
    

    2023-01-29 06:51 回答
  • 如果您正在检查位置是否打开或不使用GPS,那么您必须注意以下情况,因为在我的情况下,在设备位置设置中,定位方法设置为BatterySaving模式,其中设备仅使用WiFi移动网络来估算位置:

    在此输入图像描述

    因此,GPS甚至不用于更新位置,因此位置图标不会出现在状态栏中,除了位置提供者将被称为网络而不是GPS.

    因此,要解决该问题,您必须检查提供程序是否包含gps或包含network:

    private boolean checkIfLocationOpened() {
        String provider = Settings.Secure.getString(getActivity().getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
        if (provider.contains("gps") || provider.contains("network"))
            return true;
        }
        // otherwise return false
        return false;
    }
    

    如果你想用以下方法做到LocationManager:

    private boolean checkIfLocationOpened() {
        final LocationManager manager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE);
        if (manager.isProviderEnabled(LocationManager.GPS_PROVIDER) || manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
            return true;
        }
        // otherwise return false
        return false;
    }
    

    2023-01-29 06:51 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有