我已經實現了拍照並在我的應用中裁剪。通常它是完美的。但問題出現在Cooliris圖庫的設備上。拍攝圖像後出現消息「Gallery(process com.cooliris.media)意外停止」。不幸的是,我沒有這樣的設備,無法測試它。但是我有一個崩潰日誌的堆棧跟蹤。Cooliris拍攝和裁剪圖像
E/AndroidRuntime(20624): Caused by: java.lang.NullPointerException
E/AndroidRuntime(20624): at com.cooliris.media.CropImage.loadBitmap(CropImage.java:460)
E/AndroidRuntime(20624): at com.cooliris.media.CropImage.onCreate(CropImage.java:443)
E/AndroidRuntime(20624): at android.app.Activity.performCreate(Activity.java:4465)
E/AndroidRuntime(20624): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052)
E/AndroidRuntime(20624): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1932)
E/AndroidRuntime(20624): ... 11 more
我使用拍攝照片的代碼:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
imageCaptureUri = Uri.fromFile(getTempImageFile());
intent.putExtra("return-data", true);
startActivityForResult(intent, INTENT_PICK_FROM_CAMERA);
裁剪的圖像(在onActivityResult此意圖)的代碼:
Intent intent = new Intent("com.android.camera.action.CROP");
intent.addCategory("android.intent.category.DEFAULT");
intent.addCategory("android.intent.category.ALTERNATIVE");
intent.addCategory("android.intent.category.SELECTED_ALTERNATIVE");
intent.setDataAndType(data.getData(), "image/jpeg");
intent.putExtra("outputX", CROPPED_IMAGE_X);
intent.putExtra("outputY", CROPPED_IMAGE_Y);
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("scale", true);
intent.putExtra("return-data", true);
startActivityForResult(intent, INTENT_CROP_FROM_CAMERA);
好像data.getData( )爲空,但我不確定。有人知道可能是什麼問題以及如何解決問題?