gpt4 book ai didi

android firebase动态链接PendingDynamicLinkData为null直接通过app

转载 作者:行者123 更新时间:2023-12-02 15:08:14 27 4
gpt4 key购买 nike

问题:为什么以编程方式创建的“短动态链接”不会直接打开/启动应用程序?

我想在用户单击由 android 应用程序动态创建的动态 url 时直接启动应用程序。

当点击由 Android 应用程序动态创建的动态短链接时,会发生以下情况,

1.选项显示两个选项,一个是通过chrome,另一个是通过app

2.如果我选择 Chrome 选项,浏览器将打开,显示加载对话框并启动带有 PendingDynamicLinkData 数据的应用程序

3.但是如果我选择应用程序选项,应用程序会启动应用程序,但 PendingDynamicLinkData 丢失或为空。

任何帮助都会很棒。我的 list 设置如下

  <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:host="myapp.page.link" android:scheme="http"/>
<data android:host="myapp.page.link" android:scheme="https"/>
</intent-filter>

最佳答案

您应该在 Activity 中处理 PendingDynamicLinkData 以覆盖 onCreate 和 onNewIntent。像这样:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
if (intent != null) {
handleDeepLink(intent);
}
}

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (intent != null) {
handleDeepLink(intent);
}
}

private void handleDeepLink(Intent intent) {
FirebaseDynamicLinks.getInstance().getDynamicLink(intent).addOnSuccessListener(pendingDynamicLinkData -> {
if (pendingDynamicLinkData != null) {
Uri deepLink = pendingDynamicLinkData.getLink();
if (deepLink != null) {
// todo .....
}
}
});
}

关于android firebase动态链接PendingDynamicLinkData为null直接通过app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53314626/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com