阅读联系人而不使用活动

时间:2013-08-13 16:58:26

标签: android android-contacts contactscontract

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

1 个答案:

答案 0 :(得分:0)

如果您要发布一些代码,我可以给您一个更准确的答案,但是如果您要在库中实现一个可以检索联系人的方法,那么您将需要将Context实例作为此方法的参数。< / p>

尝试这样的事情:

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());

等...

我假设您已拥有所有必需的权限,但不要忘记添加此权限,否则您将无法阅读联系人:

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

在这里,您可以找到有关使用以下几个代码示例阅读联系人的更多信息 https://developer.android.com/training/contacts-provider/retrieve-names.html