checkSelfPermission jest dostępny powyżej sdk 23.
możemy sprawdzić, czy zezwolenie jest dostępne r nie używa menedżera pakietów
public static Boolean checkpermissions(Activity activity) {
PackageManager mPackageManager = activity.getPackageManager();
int hasPermStorage = mPackageManager.checkPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE, activity.getPackageName());
if (hasPermStorage != PackageManager.PERMISSION_GRANTED) {
// do stuff
//Toast.makeText(getApplicationContext(), "No permission", Toast.LENGTH_LONG).show();
return false;
} else if (hasPermStorage == PackageManager.PERMISSION_GRANTED) {
// do stuff
//Toast.makeText(getApplicationContext(), "Has permission", Toast.LENGTH_LONG).show();
return true;
}else
return false;
}
Dzięki! Biblioteka pomocy v4 to dobra decyzja. – Ardi
Tak, zawsze zwracaj PERMISSION_GRANTED przed v23 – weigan
Używam również wsparcia v4 i ContextCompat.checkSelfPermission (this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED zwraca false w HTC Incredible z Androidem 2.3.3. Każdy pomysł, dlaczego? – Anonymous