Android <;联系方式>;飘飘然

Android <;联系方式>;飘飘然,android,firebase,flutter,contacts,Android,Firebase,Flutter,Contacts,我正在使用contacts\u服务:^0.6.0软件包,我想打印电话簿中的电话号码,但它正在打印的实例,而不是实际的电话号码 这是我在debug panal中的输出 I/flatter(8457):[接触实例,接触实例]。 这是我的代码: ` \u getContacts()异步{ 列出联系人= (wait contacts service.getContacts(带缩略图:false)).toList(); 设置状态(){ contacts.addAll(_contacts); 打印(联系人

我正在使用
contacts\u服务:^0.6.0
软件包,我想打印电话簿中的电话号码,但它正在打印的实例,而不是实际的电话号码

这是我在debug panal中的输出

I/flatter(8457):[接触实例,接触实例]。

这是我的代码:

`

\u getContacts()异步{
列出联系人=
(wait contacts service.getContacts(带缩略图:false)).toList();
设置状态(){
contacts.addAll(_contacts);
打印(联系人);
});
}`

在颤振中有两种接触触点的方法

  • 注意:手机号码插件仅适用于Android,因为iOS不支持获取sim卡的手机号码。

    试试这个

    _getContacts() async {
        Future<List<Contact>> futureContacts = ContactsService.getContacts(withThumbnails: false)
            .then((value) => value.map((e) => Contact.fromMap(e.toMap())).toList());
        var contacts = await futureContacts.then((value) => value.map((e) => e.toMap()).toList());
        print(contacts);
      }
    
    \u getContacts()异步{
    Future futureContacts=ContactsService.getContacts(带缩略图:false)
    .then((value)=>value.map((e)=>Contact.fromMap(e.toMap())).toList());
    var contacts=等待未来的联系人。然后((value)=>value.map((e)=>e.toMap()).toList());
    打印(联系人);
    }
    
    因为您正在打印实例本身,而不是其中的数据。因此,要打印Contact实例中的数据,需要从中提取数据。例如:

    _getContacts() async {
     List<Contact> _contacts =
     (await ContactsService.getContacts(withThumbnails: false)).toList();
     setState(() {
       contacts.addAll(_contacts);
       for(var i=0; i<contacts.length; i++){
         print(contacts[i].displayName);
       }
     });
    }
    
    \u getContacts()异步{
    列出联系人=
    (wait contacts service.getContacts(带缩略图:false)).toList();
    设置状态(){
    contacts.addAll(_contacts);
    
    对于(var i=0;iAs,您可以在手机屏幕截图中看到,我在列表中获取了电话号码,但我需要该号码在不同的位置使用它,因此您能否向我解释更多如何解决此问题,使用contact_service Plugin共享您项目的示例代码,我将从我的侧面进行检查使用此代码删除内容(列表中的姓名和电话号码)在phone中。非常感谢@Aloysius它对我有用,但您在其中有一些语法错误,请编辑它们,以便我可以给您打勾。
    for(var I=0;i@SangamSharma编辑它。
    
    _getContacts() async {
     List<Contact> _contacts =
     (await ContactsService.getContacts(withThumbnails: false)).toList();
     setState(() {
       contacts.addAll(_contacts);
       for(var i=0; i<contacts.length; i++){
         print(contacts[i].displayName);
       }
     });
    }