Java 在通过Fcm的Firebase动态链接中,它只是打开应用程序,而不是进入活动
在通过Fcm的Firebase动态链接中,只有当应用程序打开(如果关闭)且我单击通知时,链接才会将我指向活动;它只是打开应用程序Java 在通过Fcm的Firebase动态链接中,它只是打开应用程序,而不是进入活动,java,android,firebase,firebase-cloud-messaging,firebase-dynamic-links,Java,Android,Firebase,Firebase Cloud Messaging,Firebase Dynamic Links,在通过Fcm的Firebase动态链接中,只有当应用程序打开(如果关闭)且我单击通知时,链接才会将我指向活动;它只是打开应用程序 <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.categor
<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="www.example.com" android:path="/book" android:scheme="http"/>
<data android:host="www.example.com" android:path="/book" android:scheme="https"/>
</intent-filter>
BooksActivity.java
FirebaseDynamicLinks.getInstance()
.getDynamicLink(getIntent())
.addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
@Override
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
Uri deepLink = null;
if (pendingDynamicLinkData != null) {
deepLink = pendingDynamicLinkData.getLink();
//Getting the id from notification dynamic linking
bookId= MyFirebaseMessagingService.BOOK_ITEM_ID;
}
if (deepLink != null) {
Snackbar.make(findViewById(android.R.id.content),
"Found deep link!", Snackbar.LENGTH_LONG).show();
} else {
Log.d(TAG, "getDynamicLink: no link found");
}
}
})
.addOnFailureListener(this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "getDynamicLink:onFailure", e);
}
});
FirebaseDynamicLinks.getInstance()
.getDynamicLink(getIntent())
.addOnSuccessListener(此,新的OnSuccessListener(){
@凌驾
成功时的公共无效(PendingDynamicLinkData PendingDynamicLinkData){
urideeplink=null;
如果(PendingDynamicClinkData!=null){
deepLink=pendingDynamicLinkData.getLink();
//从通知动态链接获取id
bookId=MyFirebaseMessagingService.BOOK\u ITEM\u ID;
}
if(deepLink!=null){
Snackbar.make(findviewbyd(android.R.id.content),
“找到深层链接!”,Snackbar.LENGTH\u LONG.show();
}否则{
Log.d(标记“getDynamicLink:未找到链接”);
}
}
})
.addOnFailureListener(此,新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Log.w(标签“getDynamicLink:onFailure”,e);
}
});
//提前感谢您正在应用程序中创建通知,或者正在使用系统默认通知?感谢您的回复。我使用的是firebase云消息,我认为当应用程序位于后台时,不会调用onMessageReceived。您可以演示如何生成推送通知吗。您正在使用通知消息或数据消息。