颤振中获取触点 [英] Fetching contacts in flutter

查看:101
本文介绍了颤振中获取触点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 contacts_service插件从设备设备获取联系人。

I am trying to get contacts from device device using 'contacts_service' plugin. It is working fine on my device but not working any other device.

    await PermissionHandler().requestPermissions([
      PermissionGroup.contacts,
    ]);
    try {
      var x = await ContactsService.getContacts();
      print(x);
    } catch (e) {
      print(e);
    }

这是我收到的错误消息

FATAL EXCEPTION: AsyncTask #2
E/AndroidRuntime(17213): Process: com.chat.amrirez_chat, PID: 17213
E/AndroidRuntime(17213): java.lang.RuntimeException: An error occurred while executing doInBackground()
E/AndroidRuntime(17213):    at android.os.AsyncTask$3.done(AsyncTask.java:318)
E/AndroidRuntime(17213):    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
E/AndroidRuntime(17213):    at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
E/AndroidRuntime(17213):    at java.util.concurrent.FutureTask.run(FutureTask.java:242)
E/AndroidRuntime(17213):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
E/AndroidRuntime(17213):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
E/AndroidRuntime(17213):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
E/AndroidRuntime(17213):    at java.lang.Thread.run(Thread.java:761)
E/AndroidRuntime(17213): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toLowerCase()' on a null object reference
E/AndroidRuntime(17213):    at flutter.plugins.contactsservice.contactsservice.Contact.compareTo(Contact.java:94)
E/AndroidRuntime(17213):    at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin$GetContactsTask$1.compare(ContactsServicePlugin.java:175)
E/AndroidRuntime(17213):    at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin$GetContactsTask$1.compare(ContactsServicePlugin.java:172)
E/AndroidRuntime(17213):    at java.util.TimSort.binarySort(TimSort.java:292)
E/AndroidRuntime(17213):    at java.util.TimSort.sort(TimSort.java:235)
E/AndroidRuntime(17213):    at java.util.Arrays.sort(Arrays.java:1523)
E/AndroidRuntime(17213):    at java.util.Collections.sort(Collections.java:238)
E/AndroidRuntime(17213):    at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin$GetContactsTask.doInBackground(ContactsServicePlugin.java:178)
E/AndroidRuntime(17213):    at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin$GetContactsTask.doInBackground(ContactsServicePlugin.java:137)
E/AndroidRuntime(17213):    at android.os.AsyncTask$2.call(AsyncTask.java:304)
E/AndroidRuntime(17213):    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
E/AndroidRuntime(17213):    ... 4 more


推荐答案

向ManifestFiles添加权限(有两个扑扑项目中的Manifest.xml)

Add Permission to ManifestFiles (there are two Manifest.xml in flutter Project)

main / AndroidManifest.xml

main/AndroidManifest.xml

<uses-permission android:name="android.permission.READ_CONTACTS" />  
<uses-permission android:name="android.permission.WRITE_CONTACTS" />  

使用软件包:
contacts_service 0.3.3

use Package : contacts_service 0.3.3

https://pub.dev/packages/contacts_service

这篇关于颤振中获取触点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆