voici mon code et fonctionne parfaitement bien.Vérifiez les autorisations Android dans une méthode
if (ActivityCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED || ActivityCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
mMap.setMyLocationEnabled(true);
}
Mais je n'aime pas un gros code sur chaque chèque, et que vous souhaitez déléguer à une méthode dans ma classe utilitaire.
if (Utils.hasMapLocationPermissions(getActivity())) {
mMap.setMyLocationEnabled(true);
}
Mais setMyLocationEnabled
a annotation @RequiresPermission
Et donc je ne peux pas déléguer à une méthode, car peluches et éditeur il montre comme une erreur .
Y a-t-il une annotation à écrire sur ma méthode utilitaire et supprimer les peluches?
Quelque chose comme ça
@ChecksPermission
public boolean hasMapLocationPermissions(Activity activity) {
return // my checking logic..
}
Essayez de mettre '' setMyLocationEnabled' dans un try-catch' et la poignée 'SecurityException'. Devrait fonctionner sans annotation. – Rohit5k2
Le code est encore grand et semble moche. Je veux résoudre avec un petit code soigné. –