Это мой код:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_crop);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent,CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// handle result of CropImageActivity
if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
CropImage.ActivityResult result = CropImage.getActivityResult(data);
if (resultCode == RESULT_OK) {
((ImageView) findViewById(R.id.quick_start_cropped_image)).setImageURI(result.getUri());
Toast.makeText(
this, "Cropping successful, Sample: " + result.getSampleSize(), Toast.LENGTH_LONG)
.show();
} else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
Toast.makeText(this, "Cropping failed: " + result.getError(), Toast.LENGTH_LONG).show();
}
}
}
Когда я делаю снимок, мое приложение вылетает.Исключение на моем телефоне:
java.lang.RuntimeException: Failure delivering result
ResultInfo{who=null, request=203, result=-1, data=Intent { act=inline-
data (has extras) }} to activity
{com.example.michael.matcalc/com.example.michael.matcalc.Crop}:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri
com.theartofdev.edmodo.cropper.CropImage$ActivityResult.getUri()' on a
null object reference
at android.app.ActivityThread.deliverResults(ActivityThread.java:4355)
...
Я думаю, что с данными что-то не так.В этой строке он вылетает:
((ImageView) findViewById(R.id.quick_start_cropped_image)).setImageURI(result.getUri());
Библиотека, которую я использую, такова: https://github.com/ArthurHub/Android-Image-Cropper
Буду признателен, если кто-нибудь сможет мне помочь.