所以,在我完成我的扫描仪活动之后,
btn_take_photo.setOnClickListener(new FloatingActionButton.OnClickListener() {
@Override
public void onClick(View view) {
String carde = cardnumberbox.getText().toString().trim();
if (carde.matches("")) {
Toast.makeText(getApplicationContext(), getString(R.string.Skan_Udfyld_Kort_Nummer), Toast.LENGTH_SHORT).show();
cardnumberbox.requestFocus();
return;
}
Intent i = new Intent(ScanActivity.this, CameraActivity.class);
i.putExtra("EXTRA_SESSION_ID", carde);
startActivity(i);
}
});去我的凸轮活动,这样我就可以拍一些照片,然后带着
public void btn_aprove2(View view) {
Intent i = new Intent(CameraActivity.this, ScanActivity.class);
String counts = count.getText().toString().trim();
i.putExtra("EXTRA_SESSION_IDs", counts);
String carde = cardnumberbox2.getText().toString().trim();
i.putExtra("EXTRA_SESSION_ID", carde);
startActivity(i);
finish();扫描仪的活动。我的扫描仪不能正常工作,但如果我按下后退按钮,它确实会再次返回到扫描仪活动,而不是我的菜单,所以看起来扫描仪活动运行了两次,其中只有一次工作正常,但在这里它让我感到困惑
因为如果不按btn_aprove2按钮而只使用back按钮,我会得到完全相同的问题,但在这里,我的扫描程序活动不会运行两次当我按下back按钮时,它会将我带回菜单
通过从清单中删除我的屏幕方向(这样我可以旋转它),我的扫描仪现在可以工作了,但前提是我首先旋转到横向,并将其旋转回纵向
我在日志中看到,它只在旋转时调用oncreate,并且仅在恢复和暂停按钮时调用(startactivity/finnish)
我完全不知道如何让它工作。
带有on github演示和文档的wiki,以及正在使用的thoose类
发布于 2017-03-29 21:57:37
如果你只是跳到相机活动来获取一些数据,我建议你在根本没有完成扫描仪活动的情况下开始结果的活动(startActivityForResult)。这将给你一个适当的工作后端堆栈(使用后退按钮从相机返回到扫描仪)。
除此之外,你为什么要使用i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);?您正在开始一个新的活动,并完成旧的活动。我不明白为什么真的需要这个旗帜。你的清单中的android:launchMode是什么?你确定你知道FLAG_ACTIVITY_NEW_TASK在做什么,它是你想要的吗?
无论如何,从您告诉我们的情况来看,您的示例看起来确实应该在不调用finish()的情况下利用startActivityForResult()
在某些活动中按下菜单按钮并启动相机和do something
的活动
https://stackoverflow.com/questions/42999340
复制相似问题