如何通过本地电话簿检索联系人



我想知道flutter上是否有一个包可以让我从手机的本地目录中检索联系人(我想做一个联系人导入功能,在我的应用程序中创建一个客户端(。我测试了很多软件包,但例如contact_pickereasy_tact_picker等软件包在iOS上运行良好,但在Android上崩溃。。。你知道我该怎么做吗?

我在安卓系统上崩溃的一个例子:

D/EGL_emulation(18178): eglMakeCurrent: 0xe1bde460: ver 3 0 (tinfo 0xe1b955c0)
D/FlutterView(18178): Detaching from a FlutterEngine: io.flutter.embedding.engine.FlutterEngine@11b78c1
D/AndroidRuntime(18178): Shutting down VM
E/AndroidRuntime(18178): FATAL EXCEPTION: main
E/AndroidRuntime(18178): Process: fr.myproject.myproject, PID: 18178
E/AndroidRuntime(18178): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2015, result=-1, data=Intent { dat=content://com.android.contacts/contacts/lookup/3776i4b14e6d913284bbe/1 flg=0x1 }} to activity {fr.myproject.myproject/com.example.myproject_mobile.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.ContentResolver android.app.Activity.getContentResolver()' on a null object reference
E/AndroidRuntime(18178):    at android.app.ActivityThread.deliverResults(ActivityThread.java:4360)
E/AndroidRuntime(18178):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:4402)
E/AndroidRuntime(18178):    at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
E/AndroidRuntime(18178):    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
E/AndroidRuntime(18178):    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
E/AndroidRuntime(18178):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
E/AndroidRuntime(18178):    at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(18178):    at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime(18178):    at android.app.ActivityThread.main(ActivityThread.java:6669)
E/AndroidRuntime(18178):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(18178):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/AndroidRuntime(18178):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/AndroidRuntime(18178): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.ContentResolver android.app.Activity.getContentResolver()' on a null object reference
E/AndroidRuntime(18178):    at com.appleeducate.flutter.contactpicker.ContactPickerPlugin.onActivityResult(ContactPickerPlugin.java:76)
E/AndroidRuntime(18178):    at io.flutter.embedding.engine.FlutterEnginePluginRegistry$FlutterEngineActivityPluginBinding.onActivityResult(FlutterEnginePluginRegistry.java:634)
E/AndroidRuntime(18178):    at io.flutter.embedding.engine.FlutterEnginePluginRegistry.onActivityResult(FlutterEnginePluginRegistry.java:367)
E/AndroidRuntime(18178):    at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onActivityResult(FlutterActivityAndFragmentDelegate.java:546)
E/AndroidRuntime(18178):    at io.flutter.embedding.android.FlutterActivity.onActivityResult(FlutterActivity.java:594)
E/AndroidRuntime(18178):    at android.app.Activity.dispatchActivityResult(Activity.java:7454)
E/AndroidRuntime(18178):    at android.app.ActivityThread.deliverResults(ActivityThread.java:4353)
E/AndroidRuntime(18178):    ... 11 more
I/Process (18178): Sending signal. PID: 18178 SIG: 9
Lost connection to device.
Exited (sigterm)

最后,我使用了contack_picker插件,但通过一个fork-git(请参阅https://github.com/danysz/contact_picker)。也有必要进入颤振β通道,因为在稳定状态下它不起作用(当然是这个级别的回归(。

最新更新