不一致的 Contacts.getPermissions() 响应与 @capacitor-community/contacts 插件

Inconsistent Contacts.getPermissions() response with @capacitor-community/contacts plugin

在我的 Angular 13 Ionic 6 应用程序中,我试图在组件中获取用户的所有联系人:

import { Contacts } from '@capacitor-community/contacts';

ngOnInit() {

    Contacts.getPermissions().then((response) => {
      console.log('Contacts permission response: ', response);
      if (response.granted) {
        console.log('Granted permissions for contacts');
        this.dialogs.openLoader('Your contacts are coming up...');
        Contacts.getContacts().then((result) => {
          this.foundContacts = true;
          console.log('Got contacts result: ', result);
          this.contacts = result.contacts;
          this.selectedContactName = '';
          this.dialogs.closeLoader();
        });
        
      }
    });

  }

从 getPermissions() 承诺返回的响应不一致:

在初始 运行 应用程序时,当为用户打开权限对话框时,它 returns 这个(console.log 输出):

Contacts permission response:  {contacts: 'granted'}

在没有打开权限对话框的情况下重新打开组件,看起来不一样:

Contacts permission response:  {granted: true}

在第一种情况下,IF 测试 (response.granted) 失败,这不是预期的行为。

这里发生了什么?

这是一个已在他们的问题跟踪器上报告的已知问题

https://github.com/capacitor-community/contacts/issues/57