Flutter之请求权限(适配android)
程序员文章站
2022-05-02 23:45:15
Flutter之请求权限(适配android)导入第三方jar包simple_permissions: ^0.1.9官方文档Android的修改如果当前应用没有使用androidx引入v4包即可,代码无需修改如果使用了androidx则需要引入androidx的包,需要修改代码(项目中原来引用的support-v4)// build.gradledependencies{ implementation 'androidx.appcompat:appcompat:1.2.0'}//...
Flutter之请求权限(适配android)
导入第三方包
simple_permissions: ^0.1.9
官方文档
Android的修改
如果当前应用没有使用androidx引入v4包即可,代码无需修改
如果使用了androidx则需要引入androidx的包,需要修改代码(项目中原来引用的support-v4)
// build.gradle
dependencies{
implementation 'androidx.appcompat:appcompat:1.2.0'
}
// SimplePermissionsPlugin
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
申请权限
FlatButton(
onPressed: (){
print("申请权限--->");
getPlatformVersion().then((value) {
print("----> platformVersion:$value");
List<Permission> permissions = [Permission.ReadExternalStorage,Permission.WriteExternalStorage];
checkPermissions(permissions[0]).then((value){
if(value){
print("----> 检查权限成功:${permissions[0]}");
}else{
print("----> 检查权限失败:${permissions[0]}");
}
});
requestPermission(permissions[1]).then((value){
switch(value){
// android denied, authorized, deniedNeverAsk
case PermissionStatus.denied:
// 拒绝
print('----> 拒绝:${permissions[1]}');
break;
case PermissionStatus.authorized:
// 同意
print('----> 同意:${permissions[1]}');
break;
case PermissionStatus.deniedNeverAsk:
// 不再提示
print('----> 禁止后不再提示:${permissions[1]}');
break;
case PermissionStatus.notDetermined:
break;
case PermissionStatus.restricted:
break;
}
});
});
},
child: Text("申请权限"),
)
本文地址:https://blog.csdn.net/shuzhuchengfu/article/details/107940250