flutter之请求权限(适配android)-百家乐凯发k8
导入第三方包
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 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("申请权限"),
)