final Dialog dailog = new Dialog(getActivity());
LayoutInflater inflater = LayoutInflater.from(getActivity());
dailog.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog,int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
getActivity().finish();//Line-9
}
}
});
View dlgView = inflater.inflate(R.layout.xyz, null);
dailog.setContentView(dlgView);
((Button) dlgView.findViewById(R.id.button_camera)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
dialog.dismiss();
}
});
dialog.show();
当相机开始并按下后退键时,Line-9也会在某些设备中执行(如samsung s3)。有没有解决这个问题的解决方案?
答案 0 :(得分:1)
当你开始摄像机时设置boolean isCamaraOn = true;
当相机开启且您按下后退按钮
然后
if(!isCameraOn){//go in only if camera is off
if (keyCode == KeyEvent.KEYCODE_BACK) {
getActivity().finish();//Line-9
}
}
在这里你可以将isCamaraOn设置为false;
试试这个,希望对你有用
答案 1 :(得分:0)
您的计划的行为是正确的。请告诉我们您要做的事情(预期行为)。这样我们就可以帮到你了