我正在制作一个可以共享我的应用程序的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>