【发布时间】:2021-11-08 13:06:42
【问题描述】:
我正在尝试构建一个在 Android 11 上运行并下载文件的 Flutter 应用程序。我曾经管理外部存储权限来实现这一点,但是当应用程序请求权限时,它会直接进入设置,而不是在应用程序内请求允许或拒绝。
例如,WhatsApp 将数据存储在 android/media 文件夹中,但它直接在应用程序中请求权限,而不是进入设置页面。请参考以下图片:
My application goes to settings like this/I need something like this
我的权限处理代码
Future<bool> requestPermission() async {
var androidInfo = await DeviceInfoPlugin().androidInfo;
var release = int.parse(androidInfo.version.release);
Permission permission;
if (release < 11) {
permission = Permission.storage;
} else {
permission = Permission.manageExternalStorage;
}
if (await permission.isGranted) {
return true;
} else {
var result = await permission.request();
if (result == PermissionStatus.granted) {
return true;
} else {
return false;
}
}
}
【问题讨论】:
-
请分享您的代码 sn-p 以获得更好的帮助。此外,根据指南,只有在用户永久拒绝该权限时,设置屏幕才会打开。
-
分享您的代码或查看此pub.dev/packages/permission_handler
-
看起来您需要添加检查权限被拒绝,权限被永久拒绝。仅在拒绝永久打开设置页面上。否则请求许可
-
嘿,Narayana,您找到解决方案了吗?
标签: android flutter android-permissions whatsapp android-11