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");
我想做什么?
答案 0 :(得分:3)
com.android.camera.action.CROP
是内部API的一部分,因此不保证所有Android设备都支持它。
如果您希望所有设备都支持,您必须实施自己的裁剪活动。如果某些设备不支持Intent
,至少应该实现某种回退行为。 请不要忘记这样做!! :)
顺便说一句,如果我没记错的话,三星Galaxy实现了自己的媒体/图库应用程序,这就是它无法识别意图的原因。