我在更新服务中的自定义通知值时遇到问题。 我使用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);
任何想法?
答案 0 :(得分:2)
我仍然没有完全弄清楚如何正确更新通知文本但是我注意到的是,在RemoteView中更新TextView会导致一些性能问题,这也会导致整体ui相当慢很多。无论如何......在弄乱了通知之后,这是我现在所拥有的:
temp = Template [Right Slot]
然后您可以像这样更新通知文本:
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);
使用此方法您不应该遇到任何性能问题。我还在努力,如果我想出了什么病,请告诉你。