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


我应该怎么办?

最佳答案

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

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

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

关于android - Android错误:裁剪 Intent 在某些设备上有效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11300464/

10-12 00:27
查看更多