Estou Com dificuldade para Abrir uma nova activity depois de tirar uma foto com o android studio

6 respostas
androidjava
Z

Quero usar a foto tirada em uma nova activity, mas o app fecha apos tirar foto.

CÓDIGO.

package believe.com.br.believeundb;

import android.app.Activity;

import android.content.Intent;

import android.graphics.Bitmap;

import android.provider.MediaStore;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

public class primeiraTela extends AppCompatActivity {

ImageView imageView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_primeira_tela);

    Button botaocan = findViewById(R.id.botaoCanid);


    botaocan.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent, 0);
        }
    });

}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    Bitmap bitmap = (Bitmap) data.getExtras().get("data");
    imageView.setImageBitmap(bitmap);

    if (requestCode == 0) {
        if (resultCode == Activity.RESULT_OK) {
            Intent fotoinfo = new Intent(this, fotocomInfo.class);
            startActivity(fotoinfo);
        } else {
        }


    }
}

}

6 Respostas

D

Você precisa debugar a aplicação e identificar a causa do fechamento.

Z

O erro é este.

E/AndroidRuntime: FATAL EXCEPTION: main

Process: believe.com.br.believeundb, PID: 31982

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=Intent { act=inline-data (has extras) }} to activity {believe.com.br.believeundb/believe.com.br.believeundb.primeiraTela}: java.lang.NullPointerException: Attempt to invoke virtual method void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap) on a null object reference

at android.app.ActivityThread.deliverResults(ActivityThread.java:4094)

at android.app.ActivityThread.handleSendResult(ActivityThread.java:4137)

at android.app.ActivityThread.-wrap20(ActivityThread.java)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1529)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:154)

at android.app.ActivityThread.main(ActivityThread.java:6123)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap) on a null object reference

at believe.com.br.believeundb.primeiraTela.onActivityResult(primeiraTela.java:41)

at android.app.Activity.dispatchActivityResult(Activity.java:6931)
D

Você está invocando um método de um objeto nulo.

Z

Entendi. Mais nao estou conseguindo achar o metodo onde fica salvo a foto que tirei e jogar em outra activity

D

Cara, reveja o teu código, afinal, é após tirar a foto que estoura a exceção, logo, deve ser uma chamada posterior ao acionamento da câmera.

Z

Obrigado Darlan!

Criado 12 de junho de 2018
Ultima resposta 12 de jun. de 2018
Respostas 6
Participantes 2