2017-08-14 26 views
-1

J'utilise les autorisations d'exécution relativement récentes d'Adobe Air pour Android, pour utiliser le système de fichiers. Le problème est que lorsque l'utilisateur refuse de donner la permission qui est essentielle, je voudrais le lui demander à nouveau, mais le gestionnaire d'événement n'est pas appelé au rejet.Le rejet des autorisations d'exécution de fichiers Adobe Air ne distribue pas d'événement

file.addEventListener(PermissionEvent.PERMISSION_STATUS, function(e:PermissionEvent):void { 
         // does not reach to this point if user declined permission request 
         if (e.status == PermissionStatus.GRANTED) 
         { 
          contRead(); 
         }}); 

        try { 
         file.requestPermission(); 
        } catch(e:Error) 
        { 
         // another request is in progress 
         trace("REQUEST ERROR!!!"); 
        } 

Comment l'aborder? Avez-vous un gestionnaire d'événements distinct? J'utilise Adobe Air 25.

Merci.

Répondre

0

Vous devez créer une fonction distincte, afin qu'elle puisse être appelée plusieurs fois quand cela est nécessaire. À l'heure actuelle, dans votre code, il n'existe qu'une seule fois (lorsque evenListener est ajouté).

Essayez quelque chose comme cette configuration ci-dessous:

file.addEventListener(PermissionEvent.PERMISSION_STATUS, checkPermissions); 

try 
{ file.requestPermission(); } 
catch(e:Error) 
{ 
    // another request is in progress 
    trace("REQUEST ERROR!!! : " + e.toString()); 
} 

function checkPermissions (e:PermissionEvent) : void 
{ 
    trace("Status is : " + e.status.toString()); 

    // does not reach to this point if user declined permission request 
    if (e.status == PermissionStatus.GRANTED) 
    { contRead(); } 
} 
+2

Cela ne va pas aider l'OP, à moins que vous pensez que la raison du comportement qu'ils rapports est que la fonction a recueilli les ordures avant l'événement tiré. Je ne vois rien pour indiquer que c'est le cas; l'écouteur anonyme est une variable détenue par l'objet fichier dans le code OP, de sorte qu'il persistera aussi longtemps que l'objet fichier. – Brian

+0

Cela n'aide pas car il ne déclenche pas l'événement dans le cas où l'utilisateur a refusé la demande. – mik