Android中通知栏跳动问题解决方法
曾经遇到过这样的问题,在我的代码中使用了通知栏,一切都正常,但是就是正在进行的通知栏中属于我的程序的那一条总是上下跳来跳去,一闪一闪的。感觉用户体验很不好,于是Google一下,找到了解决方法。
在我的代码,我是这样写的。
notification.when=System.currentTimeMillis();
这就是问题的关键,对于通知来说,when这个属性值应该在activity一启动的时候就应该固定。如果没有固定,就会使用默认的值,默认的值就是当前的时间,即System.currentTimeMillis()的值。因此使用一个自定义的固定值就可以解决问题。
finallongTIMESTAMP_FIXED=1234567890l; notification.when=TIMESTAMP_FIXED;
以下如Google介绍如何使用notification的when的说明。
Atimestamprelatedtothisnotification,inmillisecondssincetheepoch.Defaultvalue:Now.Chooseatimestampthatwillbemostrelevanttotheuser.Formostfiniteevents,thiscorrespondstothetimetheeventhappened(orwillhappen,inthecaseofeventsthathaveyettooccurbutaboutwhichtheuserisbeinginformed).Indefiniteeventsshouldbetimestampedaccordingtowhentheactivitybegan.Someexamples:
Notificationofanewchatmessageshouldbestampedwhenthemessagewasreceived. Notificationofanongoingfiledownload(withaprogressbar,forexample)shouldbestampedwhenthedownloadstarted. Notificationofacompletedfiledownloadshouldbestampedwhenthedownloadfinished. Notificationofanupcomingmeetingshouldbestampedwiththetimethemeetingwillbegin(thatis,inthefuture). Notificationofanongoingstopwatch(increasingtimer)shouldbestampedwiththewatch'sstarttime. Notificationofanongoingcountdowntimershouldbestampedwiththetimer'sendtime.