tutaj jest mój kod i to działa idealnie dobrze.Sprawdź uprawnienia Android w metodzie
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);
}
Ale nie podoba mi się taki duży kod przy każdym czeku i chcę go przekazać do metody w mojej klasie narzędziowej.
if (Utils.hasMapLocationPermissions(getActivity())) {
mMap.setMyLocationEnabled(true);
}
Ale setMyLocationEnabled
ma adnotacji @RequiresPermission
I tak nie mogę przekazać ją do metody, ponieważ szarpie i redaktor pokazuje go jako błąd.
Czy jest jakaś adnotacja do napisania na mojej metodzie użyteczności i pomijać kłaczki?
coś takiego
@ChecksPermission
public boolean hasMapLocationPermissions(Activity activity) {
return // my checking logic..
}
spróbuj umieścić '' setMyLocationEnabled' w try-catch' i uchwyt 'SecurityException'. Powinien działać bez adnotacji. – Rohit5k2
Kod jest nadal duży i wygląda paskudnie. Chcę rozwiązać ze zgrabnym małym kodem. –