Cámara Intención Devuelve Null
-
12-12-2019 - |
Pregunta
Estoy tratando de captura de imagen y vídeo desde mi aplicación para android con la cámara por defecto mediante la Intención.
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent, IMAGE_FROM_CAMERA);
El uso de código anterior traté de capturar la Imagen y en onActivityResult
me estoy haciendo Nulo en los datos en data.getData()
He intentado con el paso de la Uri con la intención pero la Uri a la que se haya vaciado.
Cámara intención no es capaz de escribir la imagen en la uri.Necesito el uri para enviar imagen de vídeo con el Correo electrónico.
Registro De Error
07-26 21:16:54.125: E/AndroidRuntime(6142): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { act=inline-data (has extras) }} to activity {com.cam/com.cam.CameraDemoActivity}: java.lang.NullPointerException
07-26 21:16:54.125: E/AndroidRuntime(6142): at android.app.ActivityThread.deliverResults(ActivityThread.java:3712)
07-26 21:16:54.125: E/AndroidRuntime(6142): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3754)
07-26 21:16:54.125: E/AndroidRuntime(6142): at android.app.ActivityThread.access$2800(ActivityThread.java:135)
07-26 21:16:54.125: E/AndroidRuntime(6142): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2162)
07-26 21:16:54.125: E/AndroidRuntime(6142): at android.os.Handler.dispatchMessage(Handler.java:99)
07-26 21:16:54.125: E/AndroidRuntime(6142): at android.os.Looper.loop(Looper.java:143)
07-26 21:16:54.125: E/AndroidRuntime(6142): at android.app.ActivityThread.main(ActivityThread.java:4914)
07-26 21:16:54.125: E/AndroidRuntime(6142): at java.lang.reflect.Method.invokeNative(Native Method)
07-26 21:16:54.125: E/AndroidRuntime(6142): at java.lang.reflect.Method.invoke(Method.java:521)
07-26 21:16:54.125: E/AndroidRuntime(6142): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-26 21:16:54.125: E/AndroidRuntime(6142): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-26 21:16:54.125: E/AndroidRuntime(6142): at dalvik.system.NativeStart.main(Native Method)
07-26 21:16:54.125: E/AndroidRuntime(6142): Caused by: java.lang.NullPointerException
07-26 21:16:54.125: E/AndroidRuntime(6142): at com.cam.CameraDemoActivity.onActivityResult(CameraDemoActivity.java:48)
07-26 21:16:54.125: E/AndroidRuntime(6142): at android.app.Activity.dispatchActivityResult(Activity.java:3931)
07-26 21:16:54.125: E/AndroidRuntime(6142): at android.app.ActivityThread.deliverResults(ActivityThread.java:3708)
07-26 21:16:54.125: E/AndroidRuntime(6142): ... 11 more
Solución
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
File output = new File(dir, "camerascript.png");
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(output));
startActivityForResult(cameraIntent, 1);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow