出现的错误
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.android.camera.action.CROP dat=content: flg=0x3 (has extras) }
下面是我的代码(跳转编辑图片)
//编辑图片
Intent editPho = new Intent("com.android.camera.action.CROP");
editPho.setType("image/*");
// Uri imageUri = FileProvider.getUriForFile(CPicActivity.this,
// "hello.world.button.fileprovider",
// new File(newFilePath));
Uri imageUri = FileProvider.getUriForFile(CPicActivity.this,
"hello.world.button.fileprovider",
new File(newFilePath));
//通过FileProvider创建一个content类型的Uri
editPho.setData(imageUri);
editPho.putExtra("crop", "true");//选择剪切
editPho.putExtra("scale", false);//不按比例
editPho.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageUri);//不能设置其他uri,来什么,输出什么
editPho.putExtra("outputFormat",
Bitmap.CompressFormat.JPEG.toString());
editPho.putExtra("noFaceDetection", false); // 打开人脸检测
editPho.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);//允许读写
editPho.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
//不指定apk打开
startActivityForResult(editPho, EDIT_PHOTO);
网上找到的很多资料都是安卓基础的activity间跳转,没找到解决方法
最后发现问题所在,我这里的newFilePath的文件确实是图片文件,可是我自己改了后缀名,系统就不认了,
解决方法:
后缀名改回去(jpg,png这些图片后缀名)
假如想不让系统图库找到图片的话就前面加个”.”
版权声明:本文为lyblyblyblin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。