繁体   English   中英

Android:onActivityResult()未调用startActivityForResult

[英]Android: onActivityResult() is not calling for startActivityForResult

我有一个名为Main的活动。 我正在使用startActivityForResult()从此Main活动中调用另一个活动Sub 我想使用onActivityResult()函数获取此Sub活动的结果。

我可以调用Sub活动。 但是当从Sub活动返回时,它没有调用onActivityResult()函数。 所以我无法获得Sub活动的结果。

实际上,我的Main活动是通过使用startActivity()函数从MainGroup活动开始的,该函数扩展了ActivityGroup

有什么方法可以在不调用onActivityResult()情况下获取活动结果?

编辑

实际上,我正在呼叫PayPal预批准活动。 我正在调用的活动在PayPla库(.jar文件)上。 因此,我无法修改该活动。 当我在没有ActivityGroup的另一个应用程序中实现此功能时,它工作正常

请帮我..

谢谢...

要调用onActivityResult()方法,必须确保requestCodePreapprovalIntent中使用的requestCode (例如,此处YOUR_REQUEST_CODE )相匹配:

  Intent preapproveIntent = PayPal.getInstance().preapprove(
      preapproval, getBaseContext());
  preapproveIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  startActivityForResult(preapproveIntent, YOUR_REQUEST_CODE);

因此,在您的onActivityResult()中,您应该具有以下内容:

@Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {

    switch (resultCode) {
      case Activity.RESULT_OK:
        if (requestCode == YOUR_REQUEST_CODE) {
          Log.i("RESULT", "IT WORKS");
        }
        break;

      default:
        break;
    }
  }

它应该可以工作,但是我实际上对Activity结果有一个问题:我的代码不是调用Activity.RESULT_OK ,而是在onActivityResult()调用Activity.RESULT_CANCELED 这真的很奇怪,因为我确定我的批准程序可以正常工作。 甚至很奇怪,因为一旦显示PayPal活动,就会调用onActivityResult()代码。

不好意思告诉您,但是PayPals的API和文档一团糟。 如果你们中的某些人有相同的问题,请告诉我您是如何解决的(如果您解决了;-)

我认为你做错了imple.if如果要获取sub的结果,则必须为子活动编写startActivityForResult()并从main获取活动结果

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM