当我的应用程序在后台(打开)时,Branch.io params始终为空

时间:2017-11-07 20:00:24

标签: android branch.io

我有一个非常简单的设置,设置

  • 我的意图过滤了我在清单上的主要活动
  • 我的所有活动的singleTask模式(它只有两个)

我的应用程序有两个入口点:一个intent过滤器将调用我的MainActivity,它启动分支会话返回referParams上的值,我转到SecondActivity,每个人都很高兴

另一个入口点是启动器,当我点击打开MainActivity做一些不同因为intent.data为空并转到SecondActivity时,问题如下,在应用程序处于SecondActivity并且应用程序进入后台后(例如,触摸主页按钮),然后点击一些链接,MainActivity启动intent.data不是空的,那是一个有效的网址,但是当我的回调被调用时,我的referPaarams为空{}

我不知道这有什么问题。我花了几个小时没有成功

@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);
}

1 个答案:

答案 0 :(得分:0)

我不确定您在主要活动中正在进行哪些处理。您提到的用例应该正确返回Branch链接参数,

  1. 如果你有意图过滤器和MainActivity的launchMode,正确定义
  2. 您正在覆盖MainActivity中的onNewIntent()方法(我可以从您分享的代码段中看到)
  3. 我创建了一个示例应用,上传了here。如果你按照你在这个应用程序中提到的测试用例(即App使用SecondActivity后台),单击Branch链接会正确返回链接参数。