Blankj / Blankj/AndroidUtilCode

SDCardUtils.getSDCardInfo android11 targetsdk30 报错

オープン
#1,494 コメント 1 件 リアクション 0 件 担当者 1 名 @Blankj が担当を希望しています GitHub で見る
bug
主要言語
Java
スター
33.6k
フォーク
10.6k
PR マージ指標
30日以内にマージされた PR はありません

説明

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));
}
```

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。