我正在尝试在我的Android应用程序上使用相机,但是当它应该返回到MainActivity时,应用程序只是自行关闭。我是这样做的: 在MainActivity中,有一个按钮可以打开一个对话框,如果用户单击Yes,它会从实现OnClickListener的类中启动AddInfo活动,如下所示:
alertDialog.setPositiveButton("Sim", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(fonte, AddInfo.class);
fonte.startActivityForResult(intent, 10);
}
});
“fonte”是一个Activity,我在此类的构造函数上设置了对MainActivity的引用。 在AddInfo活动中,有一个用于打开设备摄像头的按钮,如下所示:
“Tirar Foto”按钮是调用相机的按钮,它调用一个名为CaptureImage的方法,它将照片存储在手机上,当它返回到AddInfo活动时,我保存了Bitmap我在AddInfo上的全局变量,并在该摄像机图像的位置显示照片的预览。当我单击确定按钮时,我希望AddInfo活动返回MainActivity,返回该Bitmap和这两个字符串。我是这样做的:
buttOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
titulo = editTit.getText().toString();
descricao = editDesc.getText().toString();
Intent output = new Intent();
Bundle b = new Bundle();
b.putString("titulo",titulo);
b.putString("descricao",descricao);
b.putParcelable("foto", fotoTirada);
output.putExtra("dados", b);
setResult(5,output);
finish();
}
});
在我将照片放在AddInfo上之前它没有任何问题,但现在,当我点击OK按钮时,应用程序崩溃没有任何异常或警告,如“应用已停止”。 AddInfo也有一个OnActivityResult,它预览拍摄的照片,所以我认为问题是,由于AddInfo调用相机,并从那里返回,当它返回时,它不再是MainActivity调用的活动,并且然后setResult
不起作用。但如果这确实是问题,我不知道如何解决这个问题。那么,有人可以帮助我吗?
编辑: 当我点击OK按钮时,它出现在logcat中:
11-24 13:01:06.064 7392-7423/com.example.portol.agendalocal2 I/GMPM: App measurement is starting up
11-24 13:01:06.073 7392-7423/com.example.portol.agendalocal2 E/GMPM: getGoogleAppId failed with status: 10
11-24 13:01:06.075 7392-7423/com.example.portol.agendalocal2 E/GMPM: Uploading is not possible. App measurement disabled
EDIT2: 我刚发现了一些东西。如果我不拍照,无论是通过取消它,还是不打开相机,应用程序都不会崩溃,只是在我拍照并保存时崩溃。