【发布时间】:2023-01-02 15:24:15
【问题描述】:
除了需要添加 WRITE_EXTERNAL_STORAGE 和 READ_EXTERNAL_STORAGE 到你的 android/app/src/main/AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx.yyy">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
...
</manifest>
你还需要运行时请求权限,通过使用permission_handler包:
import 'package:simple_permissions/simple_permissions.dart';
PermissionStatus permissionResult = await SimplePermissions.requestPermission(Permission. WriteExternalStorage);
if (permissionResult == PermissionStatus.authorized){
// code of read or write file in external storage (SD card)
}
笔记:
- 运行
SimplePermissions.requestPermission时第一次,app会弹出一个窗口,你必须点击ALLOW:给予许可。
- 如果您已经单击了
DENY,则卸载调试应用程序并重新调试以安装并修复此问题 -> 触发弹出窗口并让您有机会单击ALLOW。
- 如果您已经单击了
【讨论】:
-
哪个文件需要添加运行时请求权限
-
抱歉,pub.dev/packages/permission_handler 使用这个包来访问文件的写入和读取。