Blankj / Blankj/AndroidUtilCode

SDCardUtils.getSDCardInfo android11 targetsdk30 报错

Offen
#1,494 1 Kommentar 0 Reaktionen 1 zugewiesene Person Beansprucht von @Blankj Auf GitHub ansehen
bug
Vorherrschende Sprache
Java
Sterne
33.6k
Forks
10.6k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

SDCardUtils.getSDCardInfo方法在 android11手机 targetSdk30 报错 targetSdk28 正常
java.lang.NoSuchMethodException: android.os.storage.StorageVolume.getPath []
android11 getPath 方法被移除了 提供了getDirectory
应该使用storageVolume.getDirectory().getAbsolutePath()

```
Method getPathMethod = null;
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
getPathMethod = StorageVolume.class.getMethod("getPath");
}
for (StorageVolume storageVolume : storageVolumes) {
boolean isRemovable = storageVolume.isRemovable();
String state = storageVolume.getState();
String path;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
path = storageVolume.getDirectory().getAbsolutePath();
} else {
path = (String) getPathMethod.invoke(storageVolume);
}
paths.add(new SDCardInfo(path, state, isRemovable));
}
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.