我想实现这里给出的示例Android代码: http://developer.android.com/reference/android/provider/ContactsContract.Contacts.Photo.html 抓住联系人的缩略图(顶部示例代码)。PHOTO无法解析或不是字段
但是,我不能获得超出错误: “PHOTO不能得到解决或不是场”
这是代码:
public InputStream openPhoto(long contactId)
{
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
Uri photoUri = Uri.withAppendedPath(contactUri, Contacts.Photo.CONTENT_DIRECTORY);
Cursor cursor = getContentResolver().query(photoUri,
new String[] {Contacts.Photo.PHOTO}, null, null, null);
if (cursor == null) {
return null;
}
try {
if (cursor.moveToFirst()) {
byte[] data = cursor.getBlob(0);
if (data != null) {
return new ByteArrayInputStream(data);
}
}
} finally {
cursor.close();
}
return null;
}
我在下面列出的进口在类文件的顶部:
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.lang.Object;
import android.app.Activity;
import android.content.ContentUris;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract.CommonDataKinds.Photo;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;
我相信,这是很简单的东西,像一个丢失的进口,但我很茫然。任何帮助将非常感激。
代码似乎很好。你正在测试的设备/模拟器操作系统版本是什么? – Varun
这在Eclipse中显示为错误,因此我无法运行它。 –
事实上,我已将其追踪到API级别问题。当项目设置为Android 3(API 11)时,它将停止报告错误。从API级别5以来,ContactsContract.Contacts.Photo可用的Android网站上的声明似乎是不真实的。不幸的是,针对Android 3对我来说毫无用处。 –