锁屏界面有未接电话/未读信息,解锁后不查看未读事件,直接锁屏不显示未接来电/未...
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
锁屏界面有未接电话/未读信息,解锁后不查看未读事件,直接锁屏不显示未接来电/未读信息。
[SOLUTION]
此为目前的design,仿iPhone设计。
解锁之后锁屏界面dismiss. 再次锁屏是重新绘制一遍锁屏界面。
绘制锁屏时,查询未读信息/未接电话的数目是针对本次锁屏后收到的未读信息/未接电话。
代码如下:
KeyguardUpdateMonitor.java
public void setQueryBaseTime() {
mQueryBaseTime = java.lang.System.currentTimeMillis();
}
这里会设置mQueryBaseTime值,这个值作为此次创建keyguard时查询unread SMS/MMS的一个query条件,使得Mms.DATE
+ >= mQueryBaseTime。
这样就只会query出本次keyguard创建之后接收的unread event. 后面所说这部分代码是mtk lib方式release.
根据此原理,只要每次显示是mQueryBaseTime都比Mms.DATE 小就可以一直显示出来。
以下是一中办法:
KeyguardViewManager.java
public synchronized void show(Bundle options) {
...
/// M: Incoming Indicator for Keyguard Rotation @{
// KeyguardUpdateMonitor.getInstance(mContext).setQueryBaseTime();注释掉此行。 不给mQueryBaseTime赋值
,因此mQueryBaseTime一直都是0,永远比Mms.DATE小。
/// @}
...
}
KeyguardUpdateMonitor.Java /KeyguardViewManager.java 在以下路径:
for JB branch: alps\php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks\base\policy\src\com\android\internal\policy\impl\keyguard\
for KK branch: alps\frameworks\base\packages\Keyguard\
锁屏界面有未接电话/未读信息,解锁后不查看未读事件,直接锁屏不显示未接来电/未读信息。
[SOLUTION]
此为目前的design,仿iPhone设计。
解锁之后锁屏界面dismiss. 再次锁屏是重新绘制一遍锁屏界面。
绘制锁屏时,查询未读信息/未接电话的数目是针对本次锁屏后收到的未读信息/未接电话。
代码如下:
KeyguardUpdateMonitor.java
public void setQueryBaseTime() {
mQueryBaseTime = java.lang.System.currentTimeMillis();
}
这里会设置mQueryBaseTime值,这个值作为此次创建keyguard时查询unread SMS/MMS的一个query条件,使得Mms.DATE
+ >= mQueryBaseTime。
这样就只会query出本次keyguard创建之后接收的unread event. 后面所说这部分代码是mtk lib方式release.
根据此原理,只要每次显示是mQueryBaseTime都比Mms.DATE 小就可以一直显示出来。
以下是一中办法:
KeyguardViewManager.java
public synchronized void show(Bundle options) {
...
/// M: Incoming Indicator for Keyguard Rotation @{
// KeyguardUpdateMonitor.getInstance(mContext).setQueryBaseTime();注释掉此行。 不给mQueryBaseTime赋值
,因此mQueryBaseTime一直都是0,永远比Mms.DATE小。
/// @}
...
}
KeyguardUpdateMonitor.Java /KeyguardViewManager.java 在以下路径:
for JB branch: alps\php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks\base\policy\src\com\android\internal\policy\impl\keyguard\
for KK branch: alps\frameworks\base\packages\Keyguard\
