android - 安卓分享链接在打开应用后不可用
问题描述
我正在制作一个 android 应用程序,其中可以选择共享我的应用程序。我正在使用firebase动态链接。在 firebase 控制台中,我创建了一个动态链接,例如 example.page.link。在 android 应用程序中,我创建了一种以编程方式创建动态链接的方法。共享链接已成功创建。但是当我点击链接打开应用程序时,PendingDynamicLinkData 变为空。
private Uri createDynamicLink(){
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance()
.createDynamicLink()
.setLink(Uri.parse("https://www.example.com/"))
.setDomainUriPrefix("https://example.page.link")
.setAndroidParameters(new DynamicLink.AndroidParameters
.Builder().build())
.buildDynamicLink();
Uri dynamicLinkUri = dynamicLink.getUri();
Log.d(TAG+"_link",dynamicLinkUri.toString());
return dynamicLinkUri;
}
private void getDynamicLink(){
FirebaseDynamicLinks.getInstance()
.getDynamicLink(getIntent())
.addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>(){
@Override
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
Uri deepLink = null;
if (pendingDynamicLinkData != null) {
deepLink = pendingDynamicLinkData.getLink();
Log.d(TAG+"_link",deepLink.toString());
}else{
Log.d(TAG+"_link","Error");
}
})
.addOnFailureListener(this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "getDynamicLink:onFailure", e);
}
});
}
在 AndroidManifest.xml 我添加
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:host="example.page.link"
android:scheme="https"/>
</intent-filter>
解决方案
推荐阅读
- c# - System.IO 异常“该进程无法访问该文件,因为它正被另一个进程使用。”
- reactjs - React setstate 回调在初始使用后不起作用
- node.js - 服务应该抛出异常?(网络 API)
- angular - catchError 上的拦截器中的无限循环
- java - 试图从只有一行的网站获取字符串
- python - 使用 sqlite OperationalError 创建函数:没有这样的列
- tensorflow - 在张量流中使用神经网络进行二进制分类无法学习
- r - Selenium 不再适用于 R
- spring-boot - JPA:多对多问题 - Spring Boot 项目
- javascript - 为什么 jQuery .one 函数只在向下滚动时起作用?