代码之家  ›  专栏  ›  技术社区  ›  Mahdi Moqadasi

Intent.ACTION\u PICK的额外任务的完整列表是什么?

  •  0
  • Mahdi Moqadasi  · 技术社区  · 7 年前

    我最近开始使用intent来拾取和裁剪图像。我发现,除了使用库之外,还可以使用 Intent s 下面是我选择其中一个的代码:

    Intent photoPickerIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    photoPickerIntent.setType("image/*");
    photoPickerIntent.putExtra("crop", "true");
    photoPickerIntent.putExtra("return-data", true);
    photoPickerIntent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
    photoPickerIntent.putExtra("aspectX", 1);
    photoPickerIntent.putExtra("aspectY", 1);
    startActivityForResult(photoPickerIntent, REQ_SELECT_IMG);
    

    我创建了这个 ACTION_PICK ,但没有有关的文档 extra 提前谢谢。

    1 回复  |  直到 7 年前
        1
  •  1
  •   CommonsWare    7 年前

    这是有目的的。

    不可靠。

    所以这里是我的代码来选择一个

    这将不会在数百万安卓设备上执行裁剪操作,因为任何安卓设备都不需要具备裁剪功能 ACTION_PICK MediaStore.Images.Media.EXTERNAL_CONTENT_URI 支持那些未记录的、不受支持的附加功能。

    即使是那些碰巧注意到一些额外功能的设备子集:

    • 你不知道这些多余的东西会做什么
    • 您不知道结果将如何传递,它们将采用什么格式,等等。

    我创建了这个ACTION_PICK,但是没有可以发送到操作系统的额外文件

    这是因为没有一个是Android SDK的一部分。

    对于超过20000个设备型号,每个设备型号都需要一个列表。我们很难让制造商支持这项计划 Intent 临时演员,更不用说没有证件的了。

    请使用 cropping library ,而不是依赖无文件记录、无支持的 意图