Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:onActivityResult()未调用startActivityForResult_Android_Android Activity - Fatal编程技术网

Android:onActivityResult()未调用startActivityForResult

Android:onActivityResult()未调用startActivityForResult,android,android-activity,Android,Android Activity,我有一个名为Main的活动。我正在使用startActivityForResult()从该Main活动调用另一个活动Sub。我想使用onActivityResult()函数获取这个Sub活动的结果 我可以调用Sub活动。但是当从Sub活动返回时,它没有调用onActivityResult()函数。因此,我无法获得Sub活动的结果 实际上,我的Main活动是通过使用startActivity()函数从MainGroup活动开始的,该函数扩展了ActivityGroup 是否有任何方法可以在不调用A

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

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

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

是否有任何方法可以在不调用ActivityResult()的情况下获取“活动结果”

编辑
实际上,我正在为PayPal的预批准活动打电话。我调用的活动是在PayPla库(.jar文件)上。所以我不能修改那个活动。当我在另一个没有ActivityGroup的应用程序中实现这一点时,它工作得很好

请帮帮我


谢谢你…

我认为你做得非常错误。如果你想得到sub的结果,你必须为sub活动编写startActivityForResult(),并从main获得活动结果,以得到调用的
onActivityResult()
方法,您必须确保请求代码与预批准中使用的请求代码匹配(例如此处您的请求代码):

  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.RESULT\u OK,而是在
onActivityResult()中调用Activity.RESULT\u cancelled。这真的很奇怪,因为我确信我的预批准过程是有效的。这甚至很奇怪,因为一旦显示PayPal活动,就会调用
onActivityResult()
代码


很抱歉告诉您,PayPals的API和文档太乱了。如果你们中的一些人有相同的问题,请告诉我您是如何解决的(如果您解决了它;-)

您的子活动应该完成以返回结果,并且必须调用setResult(int)来设置结果。正如@om252345指出的,您是如何从
子活动返回的?你能发布你用来设置结果和完成活动的代码吗?事实上,我正在为PayPal预批准调用一个活动。我调用的活动是在PayPla库(.jar文件)上。所以我不能修改那个活动。当我在另一个没有ActivityGroup的应用程序中实现这一点时,它工作得很好