联系人照片在我的Nexus s上是96x96的,我真的不想把这些知识"烤"到我的代码中-是否有一个常数在某处声明这一点?
在android 2.3+中有一个ThumbnailUtils类
/**
* Constant used to indicate the dimension of micro thumbnail.
* @hide Only used by media framework and media provider internally.
*/
public static final int TARGET_SIZE_MICRO_THUMBNAIL = 96;
但是@hide把它藏起来了
查看联系人应用程序源代码,文件AttachImage.java我发现了另一个有趣的事情:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent result) {
// omitted
if (requestCode == REQUEST_PICK_CONTACT) {
// A contact was picked. Launch the cropper to get face detection, the right size, etc.
// TODO: get these values from constants somewhere
Intent myIntent = getIntent();
Intent intent = new Intent("com.android.camera.action.CROP", myIntent.getData());
if (myIntent.getStringExtra("mimeType") != null) {
intent.setDataAndType(myIntent.getData(), myIntent.getStringExtra("mimeType"));
}
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 96);
intent.putExtra("outputY", 96);
intent.putExtra("return-data", true);
startActivityForResult(intent, REQUEST_CROP_PHOTO);
TODO和那些意图。putExtra说了很多,即使有一个缩略图大小常量,它也不会在联系人应用中使用。