我正在制作一个应用程序,要求现有联系人,然后为该联系人保留某种标识符,最后能够在以后查找该联系人的信息(具体来说,名称和图片)。
我有选择意图:
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();
但我迷失在这里。如何“标记”此联系人,以便我以后可以使用它?
一旦我这样做,我如何获得联系人图片?虽然我可能会想到这一点,但如果有一些简单的方法可以挂钩到第一部分,那就太好了。
答案 0 :(得分: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);