1

我正在制作一个应用程序,它将询问现有联系人,然后为该联系人保留某种标识符,最后能够在以后查找该联系人的信息(特别是姓名和图片)。

我有选择器的意图:

Intent contactIntent = new Intent(Intent.ACTION_PICK,
                    ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(contactIntent, 5);

结果:

public void onActivityResult(int reqCode, int resultCode, Intent data) {
    super.onActivityResult(reqCode, resultCode, data);

    switch (reqCode) {
    case (pickCode):
        if (resultCode == RESULT_OK) {
            Uri contactData = data.getData();

但我在这里迷路了。我如何“标记”这个联系人,以便以后可以找到它?

一旦我这样做了,我如何获得联系人图片?虽然我可能可以弄清楚这一点,但如果有一些简单的方法可以连接到第一部分,那就太好了。

4

1 回答 1

2

您可以将此联系人 uri 存储在 SharedPreferences中以供以后使用或在其他组件之间共享:

创建 SharedPreferences 为:

 SharedPreferences myPrefs = this.getSharedPreferences("myPrefs",
                                             MODE_WORLD_READABLE);
 SharedPreferences.Editor prefsEditor = myPrefs.edit();
 prefsEditor.putString("contact_uri", contactData.toString());
 prefsEditor.commit();

以及稍后从 SharedPreferences 中检索 uri:

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs",
                                               MODE_WORLD_READABLE);
 String contact_uri = myPrefs.getString("contact_uri", "not found");
 Uri contactData = Uri.parse(contact_uri);
于 2012-11-29T04:45:31.890 回答