当应用程序启动时,它会从数据库中检索数据。如果有新数据,我希望应用程序显示应用程序内通知(横幅)以警告用户。
目前我实施了这个:
if (!taskToNotify.isEmpty()) {
//Notification builder
NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext);
builder.setAutoCancel(true);
builder.setSmallIcon(R.drawable.ic_event_notification);
builder.setContentTitle(taskToNotify.get(0).getName() + mContext.getString(R.string.notification_content_task));
builder.setDefaults(Notification.DEFAULT_VIBRATE | Notification.DEFAULT_SOUND);
// inbox style
NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
inboxStyle.addLine(mContext.getString(R.string.notification_detail_date) + taskToNotify.get(0).dueDateToString());
inboxStyle.addLine(mContext.getString(R.string.notification_detail_location) + taskToNotify.get(0).getLocationName());
// Moves the expanded layout object into the notification object.
builder.setStyle(inboxStyle);
mAdapter.notifyDataSetChanged();
builder.build();
}
但这暂时不起作用。代码运行时不显示任何通知。
是否有可能在Android手机上执行此操作?或者我应该以另一种方式向用户显示此信息?
感谢您的宝贵帮助:))
答案 0 :(得分:2)
您缺少setContentText()
,否则它不符合要求。
创建通知时,使用NotificationCompat.Builder对象指定UI内容和操作。至少,Builder对象必须包含以下内容:
https://developer.android.com/training/notify-user/build-notification.html