【发布时间】:2011-08-05 21:04:01
【问题描述】:
我的 Nexus S 上的联系人照片是 96x96。我真的不想将这些知识“烘焙”到我的代码中 - 是否有一个常量可以声明这一点?我找了,好像没找到。
【问题讨论】:
我的 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 和那些 intent.putExtra 说了很多,即使有一个缩略图大小常量,也不会在联系人应用中使用。
【讨论】: