首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >intent startActivity的奇怪问题导致我的扫描仪无法正常工作

intent startActivity的奇怪问题导致我的扫描仪无法正常工作
EN

Stack Overflow用户
提问于 2017-03-24 20:19:15
回答 1查看 427关注 0票数 9

所以,在我完成我的扫描仪活动之后,

代码语言:javascript
复制
      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);

        }
    });

去我的凸轮活动,这样我就可以拍一些照片,然后带着

代码语言:javascript
复制
    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按钮时,它会将我带回菜单

a video of the issue

通过从清单中删除我的屏幕方向(这样我可以旋转它),我的扫描仪现在可以工作了,但前提是我首先旋转到横向,并将其旋转回纵向

我在日志中看到,它只在旋转时调用oncreate,并且仅在恢复和暂停按钮时调用(startactivity/finnish)

我完全不知道如何让它工作。

带有on github演示和文档的wiki,以及正在使用的thoose类

EN

回答 1

Stack Overflow用户

发布于 2017-03-29 21:57:37

如果你只是跳到相机活动来获取一些数据,我建议你在根本没有完成扫描仪活动的情况下开始结果的活动(startActivityForResult)。这将给你一个适当的工作后端堆栈(使用后退按钮从相机返回到扫描仪)。

除此之外,你为什么要使用i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);?您正在开始一个新的活动,并完成旧的活动。我不明白为什么真的需要这个旗帜。你的清单中的android:launchMode是什么?你确定你知道FLAG_ACTIVITY_NEW_TASK在做什么,它是你想要的吗?

无论如何,从您告诉我们的情况来看,您的示例看起来确实应该在不调用finish()的情况下利用startActivityForResult()

在某些活动中按下菜单按钮并启动相机和do something

  • Press some按钮以启动扫描仪并扫描某些内容并使用结果完成扫描仪(或者单击back)

  • Retrieve

  • result in

  • camera取消扫描仪并对其执行某些操作,或在扫描仪已完成时继续上一工作流)完成工作流后,完成相机,以便进入启动camera

的活动

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42999340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档