Kew*_*sen 9 java android barcode-scanner android-activity
所以,在我完成扫描仪活动之后
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);
}
});
Run Code Online (Sandbox Code Playgroud)
去我的凸轮活动所以我可以拍一些照片然后回去
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();
Run Code Online (Sandbox Code Playgroud)
再次扫描一下.我的扫描仪无法正常工作,但是如果我按下后退按钮它会再次返回到扫描活动而不是我的菜单,所以看起来扫描活动正在运行两次,其中只有一个功能正常但是在这里它让我感到困惑
因为如果不按下btn_aprove2按钮而只是使用后退按钮我会得到完全相同的问题,但在这里我的scanneractivity没有运行两次,因为当我按下后退按钮它只是带我回到菜单
通过从清单中移除我的屏幕方向(所以我可以旋转它)我的扫描仪现在可以工作,但只有当我第一次旋转到横向并将其旋转回potrait
我在日志中看到它只是在旋转时调用oncreate并且仅在恢复时暂停并按下按钮(startactivity/finnish)
我完全迷失了如何让它发挥作用.
在github上使用api演示和wiki中的文档以及正在使用的thoose类
如果您只是跳转到 Camera 活动来获取一些数据,我建议您启动该活动以获取结果 (startActivityForResult),而根本不完成 Scanner 活动。这将为您提供正确的工作后退堆栈(使用后退按钮从相机返回到扫描仪)。
除此之外,你为什么要使用 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);?您正在开始一项新活动并完成旧活动。我不明白为什么真的需要这个标志。您的清单中有什么android:launchMode?您确定您知道FLAG_ACTIVITY_NEW_TASK正在做什么并且这就是您想要的吗?
无论如何,从您告诉我们的情况来看,您的示例确实应该startActivityForResult()在不调用的情况下使用finish():
| 归档时间: |
|
| 查看次数: |
373 次 |
| 最近记录: |