我尝试使用PendingIntent
创建PendindIntent.getBroadcast()
,但它始终返回null,尽管文档清晰说明:
@return返回与给定匹配的现有或新PendingIntent 参数。仅在提供了{@link #FLAG_NO_CREATE}时才可以返回null。
我没有使用FLAG_NO_CREATE所以它永远不会返回null。
private fun createAlertPendingIntent(
context: Context,
notification: Notification,
intentId: Int) : PendingIntent {
val notificationIntent = Intent(context, NotificationPublisher::class.java)
notificationIntent.putExtra(KEY_NOTIFICATION, notification)
val pi = PendingIntent.getBroadcast(
context,
intentId,
notificationIntent,
PendingIntent.FLAG_UPDATE_CURRENT)
return pi // IS NULL
}
答案 0 :(得分:1)
显然PendingIntent.getBroadcast()
可以在没有任何警告或错误的情况下返回null,如果某些内容没有任何意图,您可以将其传递给它。
在我的情况下,notificationIntent中有Notification
,其中.setLargeIcon(drawable)
中使用的drawable的大小不正确或对所有屏幕密度都是可用的。将它添加到mdpi,hdpi,xhdpi等文件夹解决了它。