调用onActivityResult后,活动将关闭

时间:2015-05-13 12:07:37

标签: android android-activity android-lifecycle

活动说明:

Activity_A ...读取标记时启动的nfc活动

Activity_B ...捕获用户签名的活动

嗨,我的问题是这样的: 我有Activity_A,在该活动中,我使用startActivityForResult()方法调用Activity_B。然后我在Activity_B中做一些工作并关闭它。在我的Activity_A中调用该方法onActivityResult()之后。我处理返回的数据,一切都很好,但Activity_A不再可见。

如果我使用后退按钮关闭Activity_B,则Activity_A仍然可见。 (onActivityResult()没有被调用)。

当我从Activity_B返回时,我希望我的Activity_A保持活动状态。

我在两台运行Kitkat(4.4.2和4.4.4)的设备上进行了测试。 我无法在模拟器上测试它,因为Activity_A是NFC活动。

onActivityResult代码:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Log.d(TAG, "onActivityResult is called");
    switch(requestCode) {
        case SIGNATURE_ACTIVITY:
            if (resultCode == RESULT_OK) {
                Bundle bundle = data.getExtras();
                String signatureFile = data.getStringExtra("SIGNATURE_FILE");
                if(signatureFile !=null ) {
                    this.showToastMessage("Signature captured!");
                    presenter.loadSignatureImage(signatureFile);
                } else {
                    this.showToastMessage("Signature filename not returned!");
                }
            }
            break;
    }
}

1 个答案:

答案 0 :(得分:1)

确保您没有使用intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
在开始当前活动之前。