【发布时间】:2018-05-31 10:49:50
【问题描述】:
在我的应用程序中,许多链接在同一个 Activity 中处理,
所以,我需要知道收到链接时是什么链接。
我知道成功后我会认出听众,
FirebaseDynamicLinks.getInstance()
.getDynamicLink(intent)
.addOnSuccessListener(activity, new OnSuccessListener<PendingDynamicLinkData>() {
@Override
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
if (pendingDynamicLinkData != null) {
Uri deepLink = pendingDynamicLinkData.getLink();
但是,由于 UI 线程的下一个操作,我的应用程序的 UI 线程必须在成功侦听器之前知道。
所以,我会这样处理意图,
if(intent.getExtras() != null
&& intent.getExtras().toString().contains("firebase")) { // this comes from firebase dynamic links.
我可以这样处理意图吗? 而且,Firebase 框架会不会放出额外的数据,包括 firebase 字符串?
请告诉我其他解决方案好吗? 最糟糕的方法,我希望在成功回调之前知道我的应用程序的主机“(app).goo.gl”..
【问题讨论】:
-
这样的捆绑数据,B@hashcode 改变了,所以我使用 toString().contains("firebase") Bundle[{com.google.firebase.dynamiclinks.DYNAMIC_LINK_DATA=[B@c5ac3a7, com.google.android.gms.appinvite.REFERRAL_BUNDLE=Bundle[mParcelledData.dataSize=456]}]
-
我认为没有比您概述的方法更好的方法了。也就是说,最好的方法是您可以等待依赖的 UI 操作 - 是什么阻止了将它们放入完成侦听器中?
-
@심현용 你找到更可靠的解决方案了吗?
-
@dor506 查看这篇文章deepakdroid.medium.com/…。我在我的应用程序中使用了这种方法。
标签: android firebase firebase-dynamic-links