SYSTEM_ALERT_WINDOW - Comment obtenir cette autorisation automatiquement sur Android 6.0 et targetSdkVersion 23
Facebook, Evernote, Pocket - toutes les applications obtenir cette autorisation sur Android 6.0 automatiquement, même si elles sont le ciblage 23 (targetSdkVersion=23
).
Il y a eu beaucoup de documentation à propos de la nouvelle Guimauve modèle d'autorisation. L'un d'eux est SYSTEM_ALERT_WINDOW
été "promu" au " au-dessus de ce qui est dangereux permission de classe, ce qui exige un spécial intervention de l'utilisateur pour les applications à accorder avec ceux-ci. Si l'application a targetSdkVersion
22 ou inférieur, l'application récupère automatiquement de cette autorisation (si demandé dans le manifeste).
Cependant, j'ai remarqué certaines applications qui obtenir cette autorisation, sans avoir à les envoyer à l'utilisateur à la mise en page spéciale de Draw over other apps
autorisation. J'ai vu Facebook, Evernote, Pocket - et peut-être n'y sont plus.
Quelqu'un sait comment une application peut être accordé cette permission sans que l'utilisateur en passer par Settings -> Apps -> Draw over other apps
?
Grâce
- stackoverflow.com/questions/33139754/... cela m'a aidé
- stackoverflow.com/questions/33139754/... ce post m'a aidé pour afficher la boîte de dialogue autorisation d'écrire à l'externe
Vous devez vous connecter pour publier un commentaire.
C'est un nouveau comportement introduit dans de la Guimauve 6.0.1.
Chaque application qui demande le
SYSTEM_ALERT_WINDOW
autorisation et qui est installé via le Play Store (version 6.0.5 ou supérieur est requis), aura accordé la permission automatiquement.Si, au contraire, l'application est sideloaded, l'autorisation n'est pas accordée automatiquement. Vous pouvez essayer de télécharger et d'installer le Evernote APK de apkmirror.com. Comme vous pouvez le voir vous avez besoin pour accorder manuellement la permission
Settings -> Apps -> Draw over other apps
.Ce sont les commits [1] [2] qui permettent de le Play Store pour donner l'octroi automatique de la
SYSTEM_ALERT_WINDOW
autorisation.above dangerous
en fait, si vous sideload l'application de l'autorisation n'est pas accordée. C'est seulement le Play Store qui a un comportement différent et accorde automatiquement la permission, peut-être qu'ils pensaient que les applications sur le play store ne sont pas malveillants, et ils peuvent être de confiance. Ou peut-être ils ont reçu beaucoup de plaintes au sujet de ce changement et ils ont décidé de trouver une solution de contournement.targetSdkVersion
de Vidmate est de 17 et lestargetSdkVersion
de 9Apps est de 20. Ces règles ne s'applique qu'aux applications que la cible 23, sinon l'autorisation est accordée automatiquement, comme décrit dans la question.Yeh Après la Guimauve viennent Android faire de la sécurité de niveau de plus de bâton, Mais Pour
vous pouvez montrer floating action et tout ce que Vous pouvez Forcer l'utilisateur à donner la permission pour elle Par les Codes Suivants dans votre
onCreate()
méthodeMettez ce code après setContentView
L'action
ACTION_MANAGE_OVERLAY_PERMISSION
lance directement le 'Tirer sur les autres applications de l'autorisation de l'écran.Edit:
Mon Code ci-Dessus fonctionne à 100% Correct
Mais je viens de trouver que beaucoup de gars sont toujours à la recherche que comment peut permettre
ACTION_MANAGE_OVERLAY_PERMISSION
en permanence comme Si l'utilisateur dispose de l'Autorisation autoriser une seule Fois, puis de ne pas demander à chaque fois qu'il ouvrez l'application donc entendre solution pour vous-Vérifier si l'appareil a API 23+
si 23+ API puis vérifier si l'utilisateur a permis ou non
si avait permis une fois de ne pas le conduire à l'
Settings.ACTION_MANAGE_OVERLAY_PERMISSION
et si n'a pas permis encore puis demander l'exécution de l'autorisation de vérifierMettre en dessous de la ligne dans votre
onCreate()
méthode. Mettre cette aprèssetContentView
Maintenant mettre de code ci-dessous dans
onActivityResult
Maintenant, enfin, la checkPermission le code de la méthode
Et n'oubliez pas de déclarer cette variable publique dans votre classe
Si l'application des objectifs de l'API de 22 ans ou moins, puis Play Store donnera le SYSTEM_ALERT_WINDOW autorisation et les autres, quand l'utilisateur clique sur installer (avec alerte), même si son appareil Android 6.0
Sinon, si l'application des objectifs de l'API 23 ou au-dessus, de sorte que l'autorisation sera de demande de subvention au moment de l'exécution.