gpt4 book ai didi

android - Android 中的 notificationManager.notify 和 startForeground 有什么区别?

转载 作者:行者123 更新时间:2023-12-04 13:00:06 25 4
gpt4 key购买 nike

我只是想知道 NotificationManager.notify 之间有什么区别和 startForeground在安卓中。

最佳答案

使用 NotificationManager.notify 您可以通过 Noticiation.Builder.setProgress 在通知中发布任意数量的更新,包括对进度条的调整这样,您只向用户显示一个通知,它是 startForeground 所需的通知.
当您想更新由 startForeground() 设置的通知时,只需构建一个新通知,然后使用 NotificationManager 通知它。
关键点是使用相同的通知ID。
我没有测试重复调用startForeground()的场景更新通知,但我认为使用 NotificationManager.notify会更好。
更新通知不会将服务从前台状态中删除(这只能通过调用 stopForground 来完成。
这是一个例子:

private static final int notif_id=1;

@Override
public void onCreate (){
this.startForeground();
}

private void startForeground() {
startForeground(notif_id, getMyActivityNotification(""));
}

private Notification getMyActivityNotification(String text){
// The PendingIntent to launch our activity if the user selects
// this notification
CharSequence title = getText(R.string.title_activity);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, MyActivity.class), 0);

return new Notification.Builder(this)
.setContentTitle(title)
.setContentText(text)
.setSmallIcon(R.drawable.ic_launcher_b3)
.setContentIntent(contentIntent).getNotification();
}

/**
* this is the method that can be called to update the Notification
*/
private void updateNotification() {
String text = "Some text that will update the notification";

Notification notification = getMyActivityNotification(text);

NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(notif_id, notification);
}
您可以在 NotificationManager.notify 上找到更多示例和说明。 here
我还建议您引用此 page为了了解更多关于 startForeground startForeground 的用法可以找到 here

关于android - Android 中的 notificationManager.notify 和 startForeground 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59445044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com