Tengo una aplicación bastante simple que inicia la cámara desde un menú. La cámara pone en marcha muy bien, pero cuando me golpeó bien después de tomar una foto que conseguir un NPE en mi Nexus One:Obtengo una NullPointerException cuando uso ACTION_IMAGE_CAPTURE para tomar una foto
E/AndroidRuntime(3891): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=null} to activity {net.asplode.tr/net.asplode.tr.PostImage}: java.lang.NullPointerException
E/AndroidRuntime(3891): at android.app.ActivityThread.deliverResults(ActivityThread.java:3515)
E/AndroidRuntime(3891): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3557)
E/AndroidRuntime(3891): at android.app.ActivityThread.access$2800(ActivityThread.java:125)
E/AndroidRuntime(3891): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063)
E/AndroidRuntime(3891): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(3891): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(3891): at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(3891): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(3891): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(3891): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(3891): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(3891): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(3891): Caused by: java.lang.NullPointerException
E/AndroidRuntime(3891): at net.asplode.tr.PostImage.onActivityResult(PostImage.java:92)
E/AndroidRuntime(3891): at android.app.Activity.dispatchActivityResult(Activity.java:3890)
E/AndroidRuntime(3891): at android.app.ActivityThread.deliverResults(ActivityThread.java:3511)
E/AndroidRuntime(3891): ... 11 more
W/ActivityManager( 85): Force finishing activity net.asplode.tr/.PostImage
Código:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.mnuCamera) {
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
ContentValues values = new ContentValues();
values.put(Media.TITLE, "image");
Uri tempPhotoUri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, tempPhotoUri);
startActivityForResult(cameraIntent, FROM_CAMERA);
return true;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) {
return;
}
Uri imageUri = data.getData();
Log.i("imageUri: ", imageUri.toString());
}
En onActivityResult() si la intención es nula, entonces cómo obtener el imagepath @nsheridan – Abhi
@nsheridan - Perdón por molestar en una vieja pregunta, estoy teniendo el mismo problema pero realmente me estoy volviendo loco porque no puedo hacer que funcione. ¿Podría publicar algún código para mostrar su solución? THKS por adelantado ... – Matteo