我正在为androidnotification使用一个自定义的remoteview,我想模拟系统行为。
android如何更新其通知时间格式-一旦设置,它们是否会更改?我怎么能模仿这种行为?
最佳答案
我不确定你是否还在寻找答案,因为你自己已经提供了答案。然而,如果你想实现你最初的目标,你可能会想
每当时间改变时重建remoteview(只是简单得多)
设置一个广播接收器来捕捉时钟的滴答声,这样你就知道时间什么时候变了。
所以,有些代码有点像这样:
class MyCleverThing extends Service (say) {
// Your stuff here
private static IntentFilter timeChangeIntentFilter;
static {
timeChangeIntentFilter = new IntentFilter();
timeChangeIntentFilter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
timeChangeIntentFilter.addAction(Intent.ACTION_TIME_CHANGED);
}
// Somewhere in onCreate or equivalent to set up the receiver
registerReceiver(timeChangedReceiver, timeChangeIntentFilter);
// The actual receiver
private final BroadcastReceiver timeChangedReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (action.equals(Intent.ACTION_TIME_CHANGED) ||
action.equals(Intent.ACTION_TIMEZONE_CHANGED))
{
updateWidgets(); // Your code to rebuild the remoteViews or whatever
}
}
};