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/