gpt4 book ai didi

java - 每秒在通知中更新 RemoteViews

转载 作者:行者123 更新时间:2023-11-30 08:53:04 25 4
gpt4 key购买 nike

我在更新服务中的自定义通知值时遇到问题。我使用 RemoteView 并希望每秒更新一次 textview,但我没有任何真正的想法来做这件事。这是我的代码:

int icon = R.drawable.ic_launcher;
long when = System.currentTimeMillis();

Notification notification = new Notification(icon, "Custom Notification", when);
NotificationManager mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

contentView = new RemoteViews(getPackageName(), R.layout.notificationview);
contentView.setImageViewResource(R.id.image, R.drawable.ic_launcher);
contentView.setTextViewText(R.id.text, "This is a custom layout");
contentView.setTextViewText(R.id.title, "Title");
notification.contentView = contentView;

Intent notificationIntent = new Intent(this, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.contentIntent = contentIntent;
notification.flags |= Notification.FLAG_NO_CLEAR;

startForeground(13, notification);

有什么想法吗?

最佳答案

我还没有完全弄清楚如何正确更新通知文本,但我确实注意到更新 RemoteView 中的 TextView 会导致一些性能问题,它还会导致整体 ui 变慢很多.无论如何......在弄乱了通知之后,这就是我目前所拥有的:

NotificationCompat.Builder notiBuilder = new NotificationCompat.Builder(activity);

notiBuilder.setContentIntent(pendingIntent)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Sup bro!")
.setContentText("It works dude!")
.addAction(R.drawable.icon, "Some Text", pendingAction);

NotificationManager.notify(NOTIFICATION_ID, notify);

然后您可以像这样更新通知文本:

notiBuilder.setContentText("Updating text...");
NotificationManager.notify(NOTIFICATION_ID, notify);

使用这种方法你应该不会有任何性能问题。我仍在努力,如果我想出什么办法,我会告诉你。

关于java - 每秒在通知中更新 RemoteViews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29920728/

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