我想做一个打开GPS的开关,但这个方法只能用在一些特定版本的手机上。
private void toggleGPS() {
        Intent gpsIntent = new Intent();
        gpsIntent.setClassName("com.android.settings","com.android.settings.widget.SettingsAppWidgetProvider");
        gpsIntent.addCategory("android.intent.category.ALTERNATIVE");
        gpsIntent.setData(Uri.parse("custom:3"));
        try {
            PendingIntent.getBroadcast(this, 0, gpsIntent, 0).send();
        } catch (CanceledException e) {
            e.printStackTrace();
        }}下面这种方法又老是报错,即使是我加了权限
boolean gpsEnabled = Settings.Secure.isLocationProviderEnabled(getContentResolver(), LocationManager.GPS_PROVIDER );if(gpsEnabled){
    //关闭GPS
    Settings.Secure.setLocationProviderEnabled( getContentResolver(), LocationManager.GPS_PROVIDER, false );
}else{
    //打开GPS
    Settings.Secure.setLocationProviderEnabled( getContentResolver(), LocationManager.GPS_PROVIDER, true);
}
报错是这样的:writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
加了权限也还是这样
这两种方法都不行,求助呀。目的就是要打开GPS那个勾。