Android联系人选择 - 仅与数字联系?

jac*_*bot 5 android contacts

我正在编写一个应用程序,要求用户从联系人列表中选择一个联系人,以便向该联系人发送短信.有什么方法可以查询联系人列表中只有那些有电话号码的联系人(即不是那些只有电子邮件地址的联系人)?目前我的代码如下所示,但是这显示了所有联系人 - 然后我必须在我的活动中执行逻辑以通知用户他们是否选择了没有关联号码的联系人并提示他们选择另一个.

Intent i = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);
Run Code Online (Sandbox Code Playgroud)

第二件事,我意识到联系人API从2.0开始改变了,那么选择联系人覆盖所有Android操作系统版本的最佳做法是什么?假设新的联系人API与pre 2.0无关,我是否正确?

st0*_*0le 5

Intent intent = new Intent(Intent.ACTION_PICK, Contacts.Phones.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT_RQCODE_OLD);
Run Code Online (Sandbox Code Playgroud)

显示电话号码以及联系人... :)


jac*_*bot -1

我最终查看了 Android Developer 上的一些示例代码,发现这个项目可以检测 Android 版本,并根据 Android 版本使用不同的类来访问数字。

http://developer.android.com/resources/samples/BusinessCard/src/com/example/android/businesscard/index.html