Exibindo a foto do contato por photo_ID
Eu deixo o usuário selecionar um contato no meu aplicativo e exibi-lo no widget da tela inicial, mas a foto não é exibida e não sei o que está errado.
É assim que recebo a referência para a foto:
...
Cursor c = null;
try {
c = getContentResolver().query(uri, new String[] {
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Phone.TYPE,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.PHOTO_ID },
null, null, null);
if (c != null && c.moveToFirst()) {
String number = c.getString(0);
int type = c.getInt(1);
String name = c.getString(2);
int photo = c.getInt(3);
showSelectedNumber(type, number, name, photo);
}
}
É assim que eu o exibo:
public void showSelectedNumber(int type, String number, String name, int photo) {
mAppWidgetPrefix.setText(name);
pickedNumber.setText(number);
pickedPhoto.setImageResource(photo);
}
Por que isso não funciona?