FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV Mobile 2024
→
Permissions non démandé
Permissions non démandé
Débuté par Tom, 29 juin 2018 16:18 - Aucune réponse
Connectez-vous…
Tom
#1
Posté le 29 juin 2018 - 16:18
Salut,
Nous avons passé notre application en Windev Mobile 23, mais nous éprouvons des problème avec les permissions.Elle ne sont tous simplement pas demandé et dont lorsque vient le temps d'écrire un fichier sa plante puisque nous n'avons pas le permissions.
J'ai essayé l'exemple suivant:
https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windevmobile/28463-fonctions-gps-sur-materiels-android-plantage-28647/read.awp…
, mais le problème est que l'autorisation est demandé, mais je ne sais pas ce que l'usager à sélectionné.
Lorsque je rappel ma fonction CheckStoragePermissions() pour savoir si l'usager a accepter ou non, le résultat de celle-ci est toujours faux, malgré le fait que j'appel le setStoragePermissions avant cette fonction pour demander l'autorisation.
Voici mon code en exemple
HASStoragesPermissions
est un booléen
=
C
heckStoragePermissions
(
)
SI
HASStoragesPermissions
=
Faux
ALORS
setStoragePermissions
(
)
SI
HASStoragesPermissions
=
Vrai
ALORS
IDFichier
=
fCrée
(
fileName
)
fEcrit
(
IDFichier
,
c
CityData.DocumentData
)
fFerme
(
IDFichier
)
Multitâche
(
-
1
)
Sablier
(
Faux
)
LanceAppliAssociée
(
fileName
)
FIN
Fonction java :
import android.support.v4.content.ContextCompat;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Build;
public static boolean CheckStoragePermissions()
{
// Seulement depuis la version 6
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
// Assume thisActivity is the current activity
int permissionCheck = ContextCompat.checkSelfPermission(getContexteApplication(), Manifest.permission.WRITE_EXTERNAL_STORAGE);
// Pas de permissions
if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
return true;
} else {
return false;
}
} else {
return true;
}
}
import android.support.v4.app.ActivityCompat;
import android.Manifest;
public static void setStoragePermissions()
{
// Pas de permissions
if (!CheckStoragePermissions()) {
// On demande
ActivityCompat.requestPermissions(getActiviteEnCours(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 0);
}
J'ai vue que nous pouvons obtenir le résultat de ce que l'usager à fait lors de la demande, mais je ne sais pas comment l'appeler
Voici un exemple, mais cette fonction n'ai jamais appelé :
public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[],@NonNull int[] grantResults)
{
switch (requestCode)
{
case 1: if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) appelProcedureWL_int("SetPermissionsResult",1); else appelProcedureWL_int("SetPermissionsResult",-1);
break;
}
}
Merci !!
Signaler
0
0
→ Revenir à WINDEV Mobile 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte