未找到 activity 来处理 Intent com.android.camera.action.CROP
No activity found to handle Intent com.android.camera.action.CROP
我正在尝试通过我的应用程序制作图片。我可以启动相机并拍照,但是当完成拍照时我的应用程序崩溃了。我可以在屏幕上看到我的画廊已停止,这是我日志中的错误:
我试图找到一些东西,但什么也没找到。
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.access0(PhotoActor.java:62)
at com.android.camera.actor.PhotoActor.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)
这是我的代码:
@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;
}
没有,Android没有有裁剪意图
许多开发人员正在对具有 com.android.camera.action.CROP
操作的 Intent 调用 startActivity()
。他们这样做是为了裁剪图像。
这真是个糟糕的主意。
我正在尝试通过我的应用程序制作图片。我可以启动相机并拍照,但是当完成拍照时我的应用程序崩溃了。我可以在屏幕上看到我的画廊已停止,这是我日志中的错误:
我试图找到一些东西,但什么也没找到。
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.access0(PhotoActor.java:62)
at com.android.camera.actor.PhotoActor.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)
这是我的代码:
@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;
}
没有,Android没有有裁剪意图
许多开发人员正在对具有 com.android.camera.action.CROP
操作的 Intent 调用 startActivity()
。他们这样做是为了裁剪图像。
这真是个糟糕的主意。