如何解决使用Android导航控制器组件单击推送通知消息后,如何移动到某个片段目标?
所以我使用Firebase云消息发送了一个推送通知。收到数据有效负载后,我将使用以下代码显示推送通知
class MyFirebaseMessagingService : FirebaseMessagingService() {
lateinit var notificationManager: NotificationManagerCompat
override fun onMessageReceived(remoteMessage: RemoteMessage) {
super.onMessageReceived(remoteMessage)
val notificationMessage = NotificationKM(remoteMessage)
displayNotification(notificationMessage)
}
private fun displayNotification(notificationMessage: NotificationKM) {
val intent = Intent(this,MainActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
val landingPageIntent = PendingIntent.getActivity(this,intent,0)
var notification = NotificationCompat.Builder(this,channel)
.setSmallIcon(R.drawable.ic_stat_ic_notification)
.setContentTitle(notificationMessage.title)
.setContentText(notificationMessage.body)
.setContentIntent(landingPageIntent)
.setAutoCancel(true)
.setOnlyAlertOnce(true)
val build = notification.build()
notificationManager.notify(1,build)
}
}
我想让用户单击该通知,然后将该用户发送到这样的收件箱目标片段中
这是我主要活动中的导航控制器代码
class MainActivity : AppCompatActivity(),NavController.OnDestinationChangedListener {
private lateinit var navController : NavController
companion object {
// set up the top hierarchy destination
val appBarConfiguration = AppBarConfiguration(setOf(
R.id.destination_home,R.id.destination_search,R.id.destination_user_control_container,R.id.destination_create_event,R.id.destination_inbox)
)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
navController = Navigation.findNavController(this,R.id.nav_host_fragment)
bottom_nav.setupWithNavController(navController)
navController.addOnDestinationChangedListener(this)
}
override fun onDestinationChanged(controller: NavController,destination: NavDestination,arguments: Bundle?) {
// some code here
}
}
那么如何使用jetpack导航控制器组件来做到这一点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。