PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → LuminositéModifie() et autorisation WRITE_SETTINGS
LuminositéModifie() et autorisation WRITE_SETTINGS
Débuté par Jean-Philippe DEGLET, 25 fév. 2017 10:45 - 1 réponse
Membre enregistré
129 messages
Popularité : +5 (5 votes)
Posté le 25 février 2017 - 10:45
Bonjour,

"...As of API level 23, an app cannot modify system settings unless it declares the WRITE_SETTINGS permission in its manifest, and the user specifically grants the app this capability..."

Donc pour gérer la luminosité,
déclarer dans le Manifest Android.permission.WRITE_SETTINGS n'est plus suffisant !!!
- il faut gérer une popup pour que l'utilisateur puisse accepter.

Je n'arrive pas à générer correctement la fonction Java style :
public static boolean canWriteSettings(){
import java.lang.Object.*;

if (Settings.System.canWrite(context) = false)
{
Intent intent = new Intent(android.provider.Settings.ACTION_MANAGE_WRITE_SETTINGS)
.setData(Uri.parse("package:" + getActivity().getPackageName()))
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
return Settings.System.canWrite(context);
}


--
Cdlt
JPhD
Message modifié, 25 février 2017 - 10:56
Membre enregistré
129 messages
Popularité : +5 (5 votes)
Posté le 25 février 2017 - 16:08
Une fonction Java qui permet de gérer l'acquiescement ou non de l'utilisateur ;)

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.provider.Settings;

public static boolean canWriteSettings(){
Context context = getApplicationContext();
if (Settings.System.canWrite(context) == false){
Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
intent.setData(Uri.parse("package:" + context.getPackageName()));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
return Settings.System.canWrite(context);
}


--
Cdlt
JPhD