Notification使用误区

Updating notifications

To set up a notification so it can be updated, issue it with a notification ID by calling NotificationManager.notify(). To update this notification after you've issued it, update or create a NotificationCompat.Builder object, build a Notification object from it, and issue the Notification with the same ID you used previously. If the previous notification is still visible, the system updates it from the contents of the Notification object. If the previous notification has been dismissed, a new notification is created instead.

Caution: The system applies a rate limit to updating notifications. If you post updates to a notification too frequently, the system may drop some notifications. Note: You can optionally call  setOnlyAlertOnce() to only turn on a notification sound, vibration, and ticker if the notification is not already showing.

The following snippet demonstrates a notification that is updated to reflect the number of events that have occurred. It stacks the notification, showing a summary:

mNotificationManager =
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// Sets an ID for the notification, so it can be updated
int notifyID = 1;
mNotifyBuilder = new NotificationCompat.Builder(this, CHANNEL_ID)
    .setContentTitle("New Message")
    .setContentText("You've received new messages.")
    .setSmallIcon(R.drawable.ic_notify_status);
numMessages = 0;
// Start of a loop that processes data and then notifies the user
...
    mNotifyBuilder.setContentText(currentText)
        .setNumber(++numMessages);
    // Because the ID remains unchanged, the existing notification is
    // updated.
    mNotificationManager.notify(
            notifyID,
            mNotifyBuilder.build());
...



=======================================

notification 更新一次就new 一次。。。不需要复用!!!!!!

否则会造成 TransactionTooLargeException   !!!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Notification 是 Android 操作系统中的一个重要组件,可用于向用户发送各种提示信息。在 Android 应用程序中使用 Notification 的步骤如下: 1. 创建 Notification 对象 你可以通过 Notification.Builder 或者 NotificationCompat.Builder 对象来创建 Notification 对象,设置通知的标题、内容、图标等参数。 2. 发送 Notification 使用 NotificationManager 对象的 notify() 方法来发送 Notification。 3. 处理 Notification 的点击事件 如果用户点击了 Notification,你可以通过 PendingIntent 对象来启动一个 Activity 或者执行一个操作。 以下是一个简单的示例代码,用于创建和发送一个 Notification: ```java // 创建 Notification.Builder 对象 Notification.Builder builder = new Notification.Builder(this); builder.setContentTitle("标题"); builder.setContentText("内容"); builder.setSmallIcon(R.drawable.icon); // 发送 Notification NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(0, builder.build()); // 处理 Notification 的点击事件 Intent intent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(pendingIntent); ``` 这样就可以发送一个简单的 Notification,并且处理用户的点击事件。需要注意的是,为了让应用程序发送 Notification,你需要在 AndroidManifest.xml 文件中添加相应的权限:`<uses-permission android:name="android.permission.VIBRATE" />` 和 `<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值