【发布时间】:2020-04-14 18:23:59
【问题描述】:
我检查了 git 上报告的this 问题,很多人报告了它,但那里没有合适的解决方案。
如果我的应用程序被杀死并且内存中不存在应用程序进程,一切正常。
但我的用例是从推送通知中获取分支链接。
我还将 splashActivity 设置为SingleTask
android:launchMode="singleTask"
我收到以下错误消息。
BRANCH_SDK:警告。会话初始化已经发生。强迫 一个新会话,将 Intent extra “branch_force_new_session”设置为 true。
以下是我的代码,它检查是否有任何来自分支的数据,并将详细信息传递给 HomeActivity,HomeActivity 然后根据 id 加载特定的新闻项目。
我不知道在哪里传递branch_force_new_session 这个信息。如果我从 Splash Intent 传递它,它就是行不通的。
我正在使用branchSDK 5.0.1
class SplashActivity : AppCompatActivity(), , Branch.BranchReferralInitListener{
override fun onStart() {
super.onStart()
Branch.sessionBuilder(this).withCallback(this).withData(if (intent != null) intent.data else null).init()
Log.d("BRANCH_SDK_00_", "onStart")
}
override fun onInitFinished(referringParams: JSONObject?, error: BranchError?) {
if (error == null) {
if(referringParams?.has("news") ==true){
isNewsItemReceivedFromBranch = true
branchAggregatedFeedItemId = referringParams.getInt("news")
//StartHomeActivity()
}
initAppStartupProcesses()
} else {
Log.e("BRANCH_SDK", error.message)
initAppStartupProcesses()
}
}
}
清单
<activity
android:name=".activities.SplashActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Branch URI Scheme -->
<intent-filter>
<data android:scheme="aaa" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<!-- Branch URI Scheme -->
<!-- Branch App Links (optional) -->
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="aaa.aa.aa" />
<data android:scheme="https" android:host="aaa.aaaa" />
</intent-filter>
</activity>
【问题讨论】:
-
请同时分享您的 Manifest.xml 文件。如果您使用
Branch.getInstance().getLatestReferringParams()而不是从初始化回调中读取参数,问题是否仍然存在 -
@NovoLucas :我添加了 Manifest 文件。请检查。关于
Branch.getInstance().getLatestReferringParams(),我需要在Branch.sessionBuilder之前检查吗? -
这应该在 sessionBuilder 之后
标签: android android-layout branch.io