我正在创建要嵌入到项目中的库。在接收到推送通知时,当用户单击通知时,会在应用程序级别通过onNewIntent中的intent接收额外的数据,但我希望此数据在库模块中。我们如何实现呢?
在库模块内部,我试图使用应用程序级别活动的弱引用来获取数据。
我得到的临时演员为空。但是,我可以在MainActivity的onNewIntent中获取意图值。
例如
private fun checkNotificationClick(context: WeakReference<Activity>?) {
val activity = context!!.get()
val extras = activity?.intent?.extras
if (extras != null) {
if (extras.getString("message_id") != null) {
val messageId = extras.getString("message_id")
}
}
}
来自意图的额外数据是预期的,但它将为空。
答案 0 :(得分:0)
通知您的库用户他必须从onNewIntent()
调用库中的方法,该方法将Intent
传递给库。默认情况下,此信息不会存储在您可以从中获取任何信息的地方。
为了保持一致性,用户还应该从onCreate()
到原始Intent
来调用该方法。