2009-11-09 5 views

Répondre

5

Vous ne pouvez pas définir les autorisations d'application de manière pro grammatnque. Ce que vous pouvez faire est de forcer la boîte de dialogue Requête d'autorisation à apparaître, voir How to - Display custom messages in the request permission dialog

Donc, ce que vous pouvez faire est de faire un test d'enregistrement au démarrage de l'application, puis une boîte de dialogue Demande d'autorisation apparaîtra. Cela viendrait de toute façon, mais au démarrage, ce sera plus en place, et plus encore, vous pouvez définir votre propre texte de message là-bas.

MISE À JOUR
Si l'autorisation est définie sur Refuser qu'il n'y aura pas de dialogue Promt sur l'action refusée.
Ensuite, vous pouvez utiliser ApplicationPermissionManager pour appeler demande d'autorisation:

ApplicationPermissionsManager manager = ApplicationPermissionsManager 
    .getInstance(); 
int current = manager 
    .getPermission(ApplicationPermissions.PERMISSION_SCREEN_CAPTURE); 
if (current != ApplicationPermissions.VALUE_ALLOW) { 
    ApplicationPermissions permissions = new ApplicationPermissions(); 
    permissions.addPermission(ApplicationPermissions.PERMISSION_SCREEN_CAPTURE); 
    manager.invokePermissionsRequest(permissions); 
} 
+0

L'autorisation d'enregistrement est refusé par défaut donc il n'y a pas d'invite apparaître dans utilisant l'API d'enregistrement. –

+0

Vous avez raison. voir mise à jour. –

+0

Merci pour votre mise à jour, mais le problème est la constante qui représente l'enregistrement (PERMISSION_RECORDING) n'existe pas dans JDE 4.5. Lorsque j'ai regardé la documentation de JDE 4.6, j'ai vu que PERMISSION_SCREEN_CAPTURE était obsolète. À partir de la version 4.6, remplacée par PERMISSION_RECORDING. Donc dans JDE 4.5 l'autorisation qui représente l'enregistrement est PERMISSION_SCREEN_CAPTURE, donc je l'ai utilisé pour enregistrer la voix et ça marche. –

Questions connexes