Flutter之请求权限(适配android)

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 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("申请权限"),
)

你可能感兴趣的:(Flutter,android,flutter,动态申请权限)