Android bug:裁剪意图适用于某些设备

时间:2012-07-02 20:08:32

标签: android android-intent android-file

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版本。

第一个verison:

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");

我想做什么?

1 个答案:

答案 0 :(得分:3)

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

如果您希望所有设备都支持,您必须实施自己的裁剪活动。如果某些设备不支持Intent,至少应该实现某种回退行为。 请不要忘记这样做!! :)

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