0

我正在开发一个在手机中读取、列出、添加和搜索联系人的库。我使用 Activity、光标和 managedQuery 完成了它。但是要拥有一个完整的独立库,我必须在不使用活动的情况下完成它。是否可以仅通过此 uri 为每个示例提供联系人姓名:“content://contacts/people/id”?如果是,我可以在不使用活动的情况下举一个例子吗?任何帮助将不胜感激。非常感谢。

4

1 回答 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 回答