easy_contact_picker 0.0.2 flutter 获取手机联系人

插件综合地址:https://github.com/Solido/awesome-flutter

1.线上代码

import 'package:easy_contact_picker/easy_contact_picker.dart';
import 'package:flutter/material.dart';
import 'package:flutter_widget_project/widget/permission_view.dart';
import 'package:permission_handler/permission_handler.dart';

class PageTwo extends StatefulWidget {
  @override
  _PageTwoState createState() => _PageTwoState();
}

class _PageTwoState extends State<PageTwo> {
  ///注意:根据不同平台注册好权限

  ///1。创建实例
  Contact _contact = new Contact(fullName: "", phoneNumber: "");
  final EasyContactPicker _contactPicker = new EasyContactPicker();
  List _list = [];

  ///2.获取单个联系人
  _getContactData() async {
    Contact contact = await _contactPicker.selectContactWithNative();
    setState(() {
      _contact = contact;
      print("contact==>${_contact.toString()}");
    });
  }

  ///获取联系人列表
  _getContactDataList() async {
    List<Contact> list = await _contactPicker.selectContacts();
    setState(() {
      _list = list;
      print("list==>${_list.toString()}");
    });
  }

  ///获取权限
  _getPermission(Permission permission) async{
//    var hasOpen = openAppSettings();
//    print("hasOpen==>$hasOpen");

      final status = await permission.request();
      print("status==>$status");

  }

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _getPermission(Permission.contacts);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("TWO-PAGE"),
      ),
      body: Center(
        child: Container(
          child: Column(
            children: [
              FlatButton(
                child: Text("获取联系人"),
                color: Color(0xffcccccc),
                onPressed: () => _getContactData(),
              ),
              FlatButton(
                child: Text("获取联系人列表"),
                color: Color(0xffcccccc),
                onPressed: () => _getContactDataList(),
              ),

            ],
          ),
        ),
      ),
    );
  }
}

2.配置

(1)pubspec.yaml文件(easy_contact_picker: ^0.0.2     permission_handler: ^5.0.0+hotfix.8)

点击package get 获取插件

(2)android

最低版本号为19 ,不然会报错

AndroidManifest.xml文件配置权限(<uses-permission android:name="android.permission.READ_CONTACTS"/>)

(3)ios在info.plist文件中

<!-- Permission options for the `contacts` group -->
<key>NSContactsUsageDescription</key>
<string>contacts</string>

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值