我正在开发一个在手机中读取、列出、添加和搜索联系人的库。我使用 Activity、光标和 managedQuery 完成了它。但是要拥有一个完整的独立库,我必须在不使用活动的情况下完成它。是否可以仅通过此 uri 为每个示例提供联系人姓名:“content://contacts/people/id”?如果是,我可以在不使用活动的情况下举一个例子吗?任何帮助将不胜感激。非常感谢。
问问题
88 次
1 回答
0
如果您发布一些代码,我可以给您一个更准确的答案,但是如果您要在库中实现一个检索联系人的方法,那么您将始终必须有一个 Context 实例作为此方法的参数。
尝试这样的事情:
public Contact readContacts(Context context)
{
ContentResolver resolver = context.getContentResolver();
Cursor cursor = resolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
....
}
然后,您将在使用您的库的应用程序中调用此方法,如下所示:
ContactHelper.readContacts(activity);
或像这样:
ContactHelper.readContacts(getApplicationContext());
ETC...
我假设您已经拥有所有必需的权限,但不要忘记添加此权限,否则您将无法读取联系人:
<uses-permission android:name="android.permission.READ_CONTACTS" />
在这里您可以找到有关通过几个代码示例阅读联系人的更多信息: https ://developer.android.com/training/contacts-provider/retrieve-names.html
于 2013-08-13T17:16:09.637 回答