服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android中通知栏跳动问题解决方法

Android中通知栏跳动问题解决方法

2021-03-12 15:55Android开发网 Android

这篇文章主要介绍了Android中通知栏跳动问题解决方法,导致这个问题的原因是when这个属性值,默认它是使用的系统当前时间,这就是导致跳动问题的原因,指定一个固定时间即可解决这个问题,需要的朋友可以参考下

曾经遇到过这样的问题,在我的代码中使用了通知栏,一切都正常,但是就是正在进行的通知栏中属于我的程序的那一条总是上下跳来跳去,一闪一闪的。感觉用户体验很不好,于是Google一下,找到了解决方法。

在我的代码,我是这样写的。

 

复制代码 代码如下:

notification.when = System.currentTimeMillis();

 

这就是问题的关键,对于通知来说,when这个属性值应该在activity一启动的时候就应该固定。如果没有固定,就会使用默认的值,默认的值就是当前的时间,即System.currentTimeMillis()的值。因此使用一个自定义的固定值就可以解决问题。

 

复制代码 代码如下:

final long TIMESTAMP_FIXED = 1234567890l;
notification.when = TIMESTAMP_FIXED;

 

以下如Google介绍如何使用notification的when的说明。

 

复制代码 代码如下:


A timestamp related to this notification, in milliseconds since the epoch. Default value: Now. Choose a timestamp that will be most relevant to the user. For most finite events, this corresponds to the time the event happened (or will happen, in the case of events that have yet to occur but about which the user is being informed). Indefinite events should be timestamped according to when the activity began. Some examples:

 

Notification of a new chat message should be stamped when the message was received.
Notification of an ongoing file download (with a progress bar, for example) should be stamped when the download started.
Notification of a completed file download should be stamped when the download finished.
Notification of an upcoming meeting should be stamped with the time the meeting will begin (that is, in the future).
Notification of an ongoing stopwatch (increasing timer) should be stamped with the watch's start time.
Notification of an ongoing countdown timer should be stamped with the timer's end time.

 

Reference

http://developer.android.com/reference/android/app/Notification.html#when

延伸 · 阅读

精彩推荐