1.在pubspec.yaml
文件中添加 contacts_service
和 permission_handler
插件的依賴:
dependencies:
contacts_service: ^0.6.3 #獲取聯(lián)系人
permission_handler: ^11.0.1 #權(quán)限請求
2.在你的 Dart 代碼中,導(dǎo)入 contacts_service
插件:
import 'package:contacts_service/contacts_service.dart';
3.權(quán)限請求:
Android
需要在 android/app/src/main/AndroidManifest.xml
文件中添加以下內(nèi)容:
<!--聯(lián)系人-->
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
PermissionStatus status = await Permission.contacts.request();
if (status.isGranted) {
// 獲取通訊錄數(shù)據(jù)的代碼
} else {
// 用戶拒絕了權(quán)限請求,你可以提醒用戶打開應(yīng)用的權(quán)限設(shè)置
}
IOS
需要在 ios/Runner/Info.plist
文件中添加以下內(nèi)容:
<key>NSContactsUsageDescription</key>
<string>We need access to your contacts to pick a contact.</string>
在ios系統(tǒng)上如果進行await Permission.contacts.request();
權(quán)限請求,會始終返回被拒絕,正確的做法是直接進行第四步獲取通訊錄列表,這樣在代碼執(zhí)行的時候,會自動請求相關(guān)權(quán)限,在代碼中可以使用Platform.isAndroid 判斷當前所運行的系統(tǒng),執(zhí)行具體代碼。文章來源:http://www.zghlxwxcb.cn/news/detail-718004.html
4.獲取通訊錄列表:文章來源地址http://www.zghlxwxcb.cn/news/detail-718004.html
Future<void> fetchContacts() async {
Iterable<Contact> contacts = await ContactsService.getContacts();
for (var contact in contacts) {
print('Name: ${contact.displayName}');
print('Phone Numbers:');
for (var phoneNumber in contact.phones) {
print(' - ${phoneNumber.value}');
}
print('Email Addresses:');
for (var email in contact.emails) {
print(' - ${email.value}');
}
// Add more fields as needed
}
}
到了這里,關(guān)于Flutter Android & IOS 獲取通訊錄聯(lián)系人列表的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!