在android中设置默认图像裁剪程序

时间:2014-10-21 06:51:21

标签: android default crop

在我的应用程序中,用户选择图像。启动CROP_IMAGE意图后,将显示该对话框,以选择设备上安装的一个可用图像裁剪器。我想解决其中一个已安装的程序启动默认值,用户无需选择所有程序想要使用的时间。

是否可以跳过此选择器对话框并自动启动一个图像裁剪器?

1 个答案:

答案 0 :(得分:1)

我找到了答案:

Intent cropApps = new Intent("com.android.camera.action.CROP");
cropApps.setType("image/*");
List<ResolveInfo> list = this.getPackageManager().queryIntentActivities(cropApps, 0);
int size = list.size();
if (size == 0) 
{           
    Toast.makeText(this, "Can not find image crop app", Toast.LENGTH_SHORT).show();    
} 
else 
{
    ResolveInfo res = list.get(0);
    Intent cropIntent = new Intent();
    cropIntent.setClassName(res.activityInfo.packageName, res.activityInfo.name);
    cropIntent.setDataAndType(picUri, "image/*");
    cropIntent.putExtra("outputX", 800);
    cropIntent.putExtra("outputY", 800);
    cropIntent.putExtra("aspectX", 1);
    cropIntent.putExtra("aspectY", 1);
    cropIntent.putExtra("scale", true);
    cropIntent.putExtra("return-data", true);
    startActivityForResult(cropIntent, PIC_CROP);
}