欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Flutter之请求权限(适配android)

程序员文章站 2022-11-01 23:50:30
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