Java 单击Backpressed(后退)按钮时,相机未完成
我想在启动方法中调用camera intent,它工作正常,但当我单击back按钮时,它不会从camera返回,因为Uri为空。我想通过单击“上一步”按钮转到上一个活动Java 单击Backpressed(后退)按钮时,相机未完成,java,android,Java,Android,我想在启动方法中调用camera intent,它工作正常,但当我单击back按钮时,它不会从camera返回,因为Uri为空。我想通过单击“上一步”按钮转到上一个活动 @Override protected void onStart() { super.onStart(); if (uri==null){ Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); star
@Override
protected void onStart() {
super.onStart();
if (uri==null){
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePictureIntent, CAMERA_REQUEST_CODE);
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
}
创建一个带有静态布尔变量的助手类,如下所示
public class HelperUtil
{
public static boolean isCameraActivityBackPressed;
}
然后稍微修改一下代码
@Override
protected void onStart()
{
super.onStart();
if (uri == null)
{
if (HelperUtil.isCameraActivityBackPressed)
{
// this block will execute when ActivityCamera back is pressed and uri is null
startActivity(new Intent(this, ReplaceWithYourActivity.class));
} else
{
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePictureIntent, CAMERA_REQUEST_CODE);
}
}
}
@Override
public void onBackPressed()
{
super.onBackPressed();
HelperUtil.isCameraActivityBackPressed = true;
Toast.makeText(ActivityCamera.this, "onbackpressed", Toast.LENGTH_LONG).show();
startActivity(new Intent(this, ActivityCamera.class));
finish();
}
为什么您要在
onBackPressed()
中输入代码?您可以忽略sirI认为您需要onActivityResult
来收听backPressed on Camera意图。不是startActivityForResult
的父活动。我认为没有必要在backpressed上添加方法,只需删除它直到不起作用Camera is system app这就是为什么我们的backpressed在这里不起作用。。您还有其他建议吗?如果您想通过单击“上一步”按钮转到上一个活动。您需要更改行startActivity(新的Intent(this,ActivityCamera.class));启动触觉(新意图(此,.PreviousActivity.class));ActivityCamera是我的活动的名称,如果您想通过单击“上一步”按钮(在ActivityCamera中)转到上一个活动(比如ActivityTest)。然后,替换行startActivity(新的Intent(this,ActivityCamera.class));启动触觉(新意图(ActivityCamera.this,ActivityTest.class));