Flutter Error: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord

Flutter Error: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord

我需要从手机导入联系人,我用了contacts_service from pub.dev。然后我在 AndroidManifest.xml 中为 android 和 info.plist 中为 iOS 进行了所需的更改,即添加了所需的权限,但我在尝试时仍然收到此错误从 phone.

读取联系人
 Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord

我通过请求用户许可解决了这个问题,就像这样,

  @override
  void initState() {
    super.initState();
    getContacts();
  }

 // Function to get permission from the user
  _contactsPermissions() async {
    PermissionStatus permission = await Permission.contacts.status;
    if (permission != PermissionStatus.granted && permission != PermissionStatus.denied) {
      Map<Permission, PermissionStatus> permissionStatus = await [Permission.contacts].request();
      return permissionStatus[Permission.contacts] ?? PermissionStatus.undetermined;
    } else {
      return permission;
    }
  }

  //Function to import contacts
  getContacts() async {
    PermissionStatus contactsPermissionsStatus = await _contactsPermissions();
    if (contactsPermissionsStatus == PermissionStatus.granted) {
      List<Contact> _contacts = (await ContactsService.getContacts(withThumbnails: false)).toList();
      setState(() {
        contacts = _contacts;
      });
    }
  }