Android: ActivityCompat.requestPermissions exige de l'activité et non de contexte :/

Je vais appeler ActivityCompat.requestPermissions afin d'obtenir les autorisations sous android M, cependant, cela nécessite une activité dans l'argument. Ce serait bien, sauf que j'ai envie de l'appeler à partir d'un singleton, et le singleton peut être utilisé par toute activité dans l'application.

ActivityCompat.requestPermissions(context, PERMISSIONS_LOCATION, REQUEST_LOCATION);

Je veux éviter la tenue d'une référence à toute activité au sein du singleton comme c'est une recette infaillible pour une fuite de mémoire, et aussi, je préfère que le singleton pas la tenue de l'activité, parce qu'il exige inutile de code dans toutes les activités de cet appel (chaque un seul d'entre eux va avoir à inclure un argument supplémentaire dans la getInstance() pour que le singleton à la tenue de l'activité - le singleton a besoin pour obtenir l'activité de quelque part).

Maintenant, je peux techniquement obtenir une activité et puis le mettre à null tout de suite après je demande la permission, mais qui me laisse encore avec des tonnes de inutile activité arguments dans chaque activité où je fais un appel à la singleton. Est-il une solution plus élégante à ce problème que je suis tout simplement pas voir?

vous pouvez exprimés contexte de l'activité, lorsque requis si vous êtes sûr que la variable de contexte contient la référence à une activité.
Je suis en utilisant getcontexteapplication() que mon contexte, afin d'éviter la transmission des contextes d'activités. Je suppose que je ne peux pas l'appliquer à une activité?
Si elle implique une activité comme un objet, à passer d'une activité à l'autre, sa valeur doit être mis à jour. En faisant cela, je suppose, Il ne résout pas un Singleton.
Voir cet exemple pour l'Exécution de Requête, [lien] github.com/googlesamples/android-RuntimePermissions/blob/master/...
Droit, mais l'activité cible est un must pour passer juste à décider où pour afficher la boîte de dialogue demandant les autorisations.

OriginalL'auteur Jon | 2015-08-19