android - 从 FCM 通知接收开始导航目的地的参数
问题描述
我有一个导航图,它从一个带有一个参数的特定片段开始startingId
默认情况下,在我的图表中,我将其值设置为 0
到目前为止,我让后端开发人员向我发送了仅包含以下内容的通知data
:
"data" : {
"startingId" : 3
}
这意味着它总是会触发我的应用程序(即使它在后台),我会创建一个带有待处理意图的通知,该通知将使用正确的参数加载我的应用程序
不幸的是,该应用程序跨平台了,现在他们必须向我发送 FCM 消息,如下所示:
"notification" : {
"title_loc_key" : "start_changed"
"body_loc_key" : "start_changed_body"
"android_channel_id" : "updates"
}
"data" : {
"startingId" : 3
}
这意味着当我的应用程序在后台时,当用户单击通知时,应用程序将以 startId -> 3 作为参数的包启动
但我不能在我的起始片段中使用那个包
相反,我在片段中所做的是这样的:
private val startingId by lazy { activity.intent?.extras?.getValue("startingId")?.toString()?.toIntOrNull()?: 0 }
我已经startingId
从我的起始片段中删除了这个论点
有没有办法创建一个通知,将“数据”有效负载传递给我的起始目标片段,就像我只使用“数据”json对象一样?还是我坚持从活动的意图中检索价值?