admin管理员组

文章数量:1530013

插件综合地址:https://github/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>

 

 

 

本文标签: 联系人手机easycontactpickerFlutter