問題描述
Android從相冊中選擇照片時選完后顯示不出來,打斷點發現srcPath
圖片路徑正確,bitmap竟然為空??‘。
bitmap = BitmapFactory.decodeFile(srcPath, opts);
檢查一下??:
- opts屬性沒問題
opts.inJustDecodeBounds = false;
- AndroidManifest中權限申請,沒問題
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- 動態權限申請
private static final String[] PERMISSION_EXTERNAL_STORAGE = new String[] {
Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE
};
private static final int REQUEST_EXTERNAL_STORAGE = 100;
......
private void verifyStoragePermissions(Activity activity) {
int permissionWrite = ActivityCompat.checkSelfPermission(activity,
Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permissionWrite != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(activity, PERMISSION_EXTERNAL_STORAGE,
REQUEST_EXTERNAL_STORAGE);
}
}
- 竟然還是不行??,我接著找??
最后看到一篇帖子講需要在AndroidManifest.xml中添加android:requestLegacyExternalStorage="true"
原因如下(拷圖過來,鏈接https://www.freesion.com/article/3094311913/):
image.png