Android 当我的应用在后台(打开)时,Branch.io参数始终为空

Android 当我的应用在后台(打开)时,Branch.io参数始终为空,android,branch.io,Android,Branch.io,我有一个非常直接的设置,设置 我的意图筛选清单上我的主要活动 我所有活动的单任务模式(只有两个) 我的应用程序有两个入口点:一个是意图过滤器将调用我的MainActivity,启动分支会话,返回referringParams上的值,然后我转到第二个Activity,每个人都很高兴 另一个入口点是启动器,当我单击open the Main Activity do something thing(打开主活动)时,由于intent.data为空并转到SecondActivity(第二个活动),问题

我有一个非常直接的设置,设置

  • 我的意图筛选清单上我的主要活动
  • 我所有活动的单任务模式(只有两个)
我的应用程序有两个入口点:一个是意图过滤器将调用我的MainActivity,启动分支会话,返回referringParams上的值,然后我转到第二个Activity,每个人都很高兴

另一个入口点是启动器,当我单击open the Main Activity do something thing(打开主活动)时,由于intent.data为空并转到SecondActivity(第二个活动),问题如下,在应用程序处于SecondActivity(第二个活动)且应用程序进入后台后(例如,触摸home(主页)按钮)然后点击某个链接,MainActivity启动。数据不是空的,有一个有效的url,但当调用我的回调时,我得到了referringParams empty
{}

我不知道这是怎么回事。我花了几个小时都没有成功

@Override
public void onStart() {
    super.onStart();
    Branch branch = Branch.getInstance();

    branch.initSession(new Branch.BranchReferralInitListener(){
        @Override
        public void onInitFinished(JSONObject referringParams, BranchError error) {
            if (error == null) {
                // here referringParams is a empty {} object
            } else {
                Log.i("MyApp", error.getMessage());
            }
        }
    }, this.getIntent().getData(), this);
}

@Override
public void onNewIntent(Intent intent) {
    this.setIntent(intent);
}

我不确定您在主要活动中正在做什么处理。您提到的用例应该正确返回分支链接参数

  • 如果已正确定义MainActivity的意图过滤器和启动模式
  • 您正在覆盖MainActivity中的onNewIntent()方法(我可以从您共享的代码片段中看到)

  • 我创建了一个示例应用程序,该应用程序已上载。如果您使用此应用程序遵循您提到的测试用例(即,应用程序以第二个活动为背景),单击分支链接将正确返回链接参数。

    我不确定您在主要活动中执行的是什么处理。您提到的用例应该正确返回分支链接参数

  • 如果已正确定义MainActivity的意图过滤器和启动模式
  • 您正在覆盖MainActivity中的onNewIntent()方法(我可以从您共享的代码片段中看到)
  • 我创建了一个示例应用程序,该应用程序已上载。如果您使用此应用程序遵循您提到的测试用例(即应用程序以SecondActivity为背景),单击分支链接将正确返回链接参数