【问题标题】:Declared constant for Android contact photo size?为 Android 联系人照片大小声明常量?
【发布时间】:2011-08-05 21:04:01
【问题描述】:

我的 Nexus S 上的联系人照片是 96x96。我真的不想将这些知识“烘焙”到我的代码中 - 是否有一个常量可以声明这一点?我找了,好像没找到。

【问题讨论】:

    标签: android photo contact


    【解决方案1】:

    在 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 说了很多,即使有一个缩略图大小常量,也不会在联系人应用中使用。

    【讨论】:

      猜你喜欢
      • 2014-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-10
      相关资源
      最近更新 更多