1

Android 错误:裁剪意图适用于某些文件管理器。

以下代码:

启动从文件夹/文件裁剪图像的意图。

Intent intent = new Intent(Intent.ACTION_GET_CONTENT,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

        //intent.putExtra(MediaStore.EXTRA_OUTPUT, MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString());
        intent.putExtra("crop", "true");
        intent.putExtra("return-data", true);

        startActivityForResult(intent, 0);

2 个版本的代码在不同的设备上以不同的方式崩溃,相同的 Android 版本。

第一个版本:

try 
    {
        bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), targetUri);

        }catch (FileNotFoundException e){e.printStackTrace();} 
        catch (IOException e){e.printStackTrace();}

第二版(适用于其他设备)

bitmap = (Bitmap) data.getExtras().get("data");

我该怎么办?

4

1 回答 1

3

com.android.camera.action.CROP是内部 API 的一部分,因此不能保证所有 Android 设备都支持它。

如果您希望所有设备都支持它,您将必须实现自己的裁剪活动。如果某些设备不支持Intent. 请不要忘记这样做!:)

顺便说一句,如果我没记错的话,三星 Galaxy 实现了自己的媒体/画廊应用程序,这就是它无法识别 Intent 的原因。

于 2012-07-02T21:29:09.953 回答