How to fix the error Cannot open file, path = '/storage/emulated/0/DCIM/Camera/20200818_123041.jpg' (OS Error: Permission denied, errno = 13)
How to fix the error Cannot open file, path = '/storage/emulated/0/DCIM/Camera/20200818_123041.jpg' (OS Error: Permission denied, errno = 13)
我试图让用户从他们设备上的照片库中选择一张图片。
我以前的代码工作正常,但现在我必须将 targetSdkVersion 从 28 更新到 29,它不再工作了。
我试过添加
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
但还是不行。还尝试使用 permission_handler
flutter 包。
非常感谢任何帮助!
谢谢杰森。
如果你使用 permission_handler
并且你写:
if (!status.isGranted) { await Permission.storage.request(); }
应用程序请求权限?
您可以在 if
语句之前、条件中和 if
语句之后编写 print
最后我设法解决了我的问题。我需要在 android 清单中设置 android:requestLegacyExternalStorage="true"
,并将 compileSdkVersion
也更改为 29(它仍然是 28,即使我将 targetSdkVersion
更改为 29) - 您必须需要在应用级别 build.gradle.
更改两者
希望这对某人有所帮助,很高兴我解决了我的问题!
Need to give permission on your android manifest file.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Follow all steps as per above link.
我试图让用户从他们设备上的照片库中选择一张图片。
我以前的代码工作正常,但现在我必须将 targetSdkVersion 从 28 更新到 29,它不再工作了。
我试过添加
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
但还是不行。还尝试使用 permission_handler
flutter 包。
非常感谢任何帮助!
谢谢杰森。
如果你使用 permission_handler
并且你写:
if (!status.isGranted) { await Permission.storage.request(); }
应用程序请求权限?
您可以在 if
语句之前、条件中和 if
语句之后编写 print
最后我设法解决了我的问题。我需要在 android 清单中设置 android:requestLegacyExternalStorage="true"
,并将 compileSdkVersion
也更改为 29(它仍然是 28,即使我将 targetSdkVersion
更改为 29) - 您必须需要在应用级别 build.gradle.
希望这对某人有所帮助,很高兴我解决了我的问题!
Need to give permission on your android manifest file.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Follow all steps as per above link.