【问题标题】:How to select a single contact from contacts in flutter如何从flutter中的联系人中选择单个联系人
【发布时间】:2019-05-08 14:36:55
【问题描述】:

我一直被这个问题困扰。如何从颤动的联系人中选择和获取详细信息?请帮忙。

【问题讨论】:

    标签: flutter fetch contacts


    【解决方案1】:

    添加这个依赖

    这是目前的版本

    contact_picker: ^0.0.2

    import 'package:flutter/material.dart';
    import 'package:contact_picker/contact_picker.dart';
    
    void main() {
     runApp(new MyApp());
     } 
    
    class MyApp extends StatefulWidget {
     @override
    _MyAppState createState() => new _MyAppState();
    }
    
     class _MyAppState extends State<MyApp> {
      final ContactPicker _contactPicker = new ContactPicker();
      Contact _contact;
    
      @override
      Widget build(BuildContext context) {
       return new MaterialApp(
       home: new Scaffold(
        appBar: new AppBar(
           title: new Text('Plugin example app'),
         ),
          body: new Center(
          child: new Column(
            mainAxisSize: MainAxisSize.min,
             children: <Widget>[
              new MaterialButton(
                color: Colors.blue,
                child: new Text("CLICK ME"),
                onPressed: () async {
                  Contact contact = await _contactPicker.selectContact();
                  setState(() {
                    _contact = contact;
                  });
                },
              ),
              new Text(
                _contact == null ? 'No contact selected.' : _contact.toString(),
              ),
            ],
          ),
        ),
      ),
    );
     }
    }
    

    【讨论】:

      【解决方案2】:

      使用contact_picker: ^0.0.2 获取联系方式

      1. 在您的 pubspec.yaml 文件中添加依赖项

        dependencies:
          flutter:
            sdk: flutter
        
          contact_picker: ^0.0.2
        
      2. 将它导入到你想使用它的地方并创建一个 openContactBook() 函数

        import 'package:contact_picker/contact_picker.dart';
        
        
        Future<String> openContactBook() async {
          Contact contact = await ContactPicker().selectContact();
          if (contact != null) {
            var phoneNumber = contact.phoneNumber.number.toString().replaceAll(new RegExp(r"\s+"), "");
            return phoneNumber;
          }
          return "";
        }
        
      3. 这样用过

        onPressed: () {
          var contactNumber = openContactBook()
        }
        

      【讨论】:

        【解决方案3】:

        使用contacts_service: ^0.2.5,你可以通过添加查询来搜索这个,但如果你有任何想法,我没有通过电话或电子邮件找到。

        https://pub.dev/packages/contacts_service#-readme-tab-

        Iterable<Contact> johns = await ContactsService.getContacts(query : "john");
        

        【讨论】:

        • 我要打开电话簿并选择联系人。不搜哥。如果你能帮忙的话。
        • 好吧抱歉没听明白,试试联系选择器pub.dev/packages/contact_picker
        猜你喜欢
        • 2021-09-18
        • 1970-01-01
        • 2017-05-10
        • 2014-02-14
        • 1970-01-01
        • 1970-01-01
        • 2019-06-03
        • 2019-06-15
        • 1970-01-01
        相关资源
        最近更新 更多