【问题标题】:I want to finish the activity from an other activity on pressing the back button我想在按下后退按钮时从其他活动中完成活动
【发布时间】:2013-09-18 11:28:00
【问题描述】:

我有一个名为QRCodeReader 的活动,上面有一个后退按钮。它扫描二维码并将 id 传递给MetaioCloudARViewTestActivity 以启动频道。它工作正常。但是当我按下QrCodeReader 的后退按钮时,它会完成当前活动,但会加载MetaioCloudARViewTestActivity 的空白摄像头网络视图。所以我也想完成网络视图。 如果我在 MetaioCloudARViewTestActivity 的 onResume 中使用完成,它适用于 QRCodeReader 的后退按钮。但是当我必须扫描代码时,我需要那个活动。我只想在QRCodeReader 中按下返回按钮来完成它。

【问题讨论】:

    标签: android activity-finish


    【解决方案1】:

    我知道你必须在按下返回按钮时完成 MetaioCloudARViewTestActivity QRCodeReader 活动。

    如果我的理解是正确的,那就试试这个……

    在 MetaioCloudARViewTestActivity 中声明一个静态处理程序

    public static Handler h
    

    在我的 MetaioCloudARViewTestActivity 的 onCreate() 方法中,实现这段代码

    h = new Handler () 
         {
                 public void handleMessage(Message message)  
                  {
                    super.handleMessage(message);
                     switch(message.what) 
                   {
                     case 0:
                        finish();
                        break;
                     }
                }
          };
    

    现在覆盖 QRCodeReaderActivity 中的 onBackPressed 并添加调用 MetaioCloudARViewTestActivity.h.sendEmptyMessage(0);

    像这样..

    //onBacKPressed of QRCodeReaderActivity ..
    @Override
    public void onBackPressed() {
        super.onBackPressed();
        MetaioCloudARViewTestActivity.h.sendEmptyMessage(0);
    }
    

    【讨论】:

    • 你能在崩溃时发布日志错误吗?我的意思是崩溃到底是什么?
    • 这是 java.lang.nullPointerException
    • MetaioCloudARViewTestActivity 在您按下 QRCodeReaderActivity 时在堆栈上?
    • 如果"Handler h"没有初始化会得到nullPointerException,这样检查...尝试全局声明这个静态处理程序
    • 它是全球性的,这两个活动都使用相机,所以我认为两者不能同时使用相机是某种问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    相关资源
    最近更新 更多