我有这个代码

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

并且即使启用了GPS,它也始终会返回false。 GPS工作正常,但我使用此 bool 值显示弹出窗口“未启用GPS”。在这种情况下,每次都会弹出窗口
  • 我检查了类似的问题,但无济于事。
  • 是,我在 list
  • 中拥有权限
  • 我在onResume方法
  • 中使用此代码

    感谢帮助。

    最佳答案

    尝试这种方式..

    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);
        }
    }
    

    10-04 17:37