No Activity found to handle Intent com.android.camera.action.CROP

匿名 (未验证) 提交于 2019-12-03 02:43:01

问题:

I'm trying to do a picture from my application. I can launch the camera and do the picture, but when has finish to do the picture my app crash. I can see in my screen that my Galery is stopped and this is the error in my log:

I've tried to find something but any help me.

Thanks in advance

FATAL EXCEPTION: main                                                    android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.android.camera.action.CROP dat=file:///data/data/com.android.gallery3d/files/crop-temp (has extras) }                                                        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)                                                        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1423)                                                        at android.app.Activity.startActivityForResult(Activity.java:3388)                                                        at android.app.Activity.startActivityForResult(Activity.java:3349)                                                        at com.android.camera.actor.PhotoActor.doAttach(PhotoActor.java:1125)                                                        at com.android.camera.actor.PhotoActor.access$500(PhotoActor.java:62)                                                        at com.android.camera.actor.PhotoActor$2.onClick(PhotoActor.java:210)                                                        at android.view.View.performClick(View.java:4209)                                                        at android.view.View$PerformClick.run(View.java:17431)                                                        at android.os.Handler.handleCallback(Handler.java:725)                                                        at android.os.Handler.dispatchMessage(Handler.java:92)                                                        at android.os.Looper.loop(Looper.java:153)                                                        at android.app.ActivityThread.main(ActivityThread.java:5297)                                                        at java.lang.reflect.Method.invokeNative(Native Method)                                                        at java.lang.reflect.Method.invoke(Method.java:511)                                                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)                                                        at dalvik.system.NativeStart.main(Native Method) 

This is my code:

@Override     public void onButton1Click(int ref) {         try {             currentRef = ref;             Intent mIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);              Uri fileUri = FileProvider.getUriForFile(getActivity(), BuildConfig.APPLICATION_ID + ".provider", createImageFile());             mIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name             mIntent.putExtra("crop", "true");             startActivityForResult(mIntent, REQUEST_TAKE_PHOTO);         }catch (IOException ex) {             ex.printStackTrace();         }     }   private File createImageFile() throws IOException {         // Create an image file name         String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());         String imageFileName = "JPEG_" + timeStamp + "_";         File storageDir = new File(Environment.getExternalStoragePublicDirectory(                 Environment.DIRECTORY_DCIM), "Camera");         File image = File.createTempFile(                 imageFileName,  /* prefix */                 ".jpg",         /* suffix */                 storageDir      /* directory */         );          // Save a file: path for use with ACTION_VIEW intents         mCurrentPhotoPath = "file:" + image.getAbsolutePath();         return image;     } 

回答1:

No, Android Does Not Have a Crop Intent

Many developers are calling startActivity() on an Intent with an action of com.android.camera.action.CROP. They are doing this to crop an image.

This is a really bad idea.

Source here - CommonsBlog



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!