繁体   English   中英

更改日期时更新小部件

[英]Update widget on day change

我有一个可显示当前日期的小部件。 但是,仅当用户在主要活动中执行操作时,小部件才会更新。

我将如何强迫小部件在午夜后下次打开手机时进行更新以反映新日期?

我知道我可能需要AlarmManager,但是我不清楚参数。 我是否将其放在我的主要活动中,并让其调用在小部件上调用update的方法?

以类似的方式,我有一个要在特定时间运行的服务。 该服务完成后,它便会更新我的小部件并停止自身(该服务)。 这是我在指定时间启动服务的代码段

Intent mSrvcIntent = new Intent(packageContext, MyService.class);
PendingIntent mSrvcPendingingIntent = PendingIntent.getService(packageContext,0, mSrvcIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager mAlarmManager = (AlarmManager)context.getSystemService(android.content.Context.ALARM_SERVICE);
mAlarmManager.set(AlarmManager.RTC_WAKEUP, time to start service, mSrvcPendingingIntent);

我希望这足够使您能够解决您的问题

将其投放到清单小部件接收者

 <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
            <action android:name="android.intent.action.DATE_CHANGED" />...

onReceive()将触发

这对我有用:

<intent-filter>
    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    <action android:name="android.intent.action.DATE_CHANGED"/>
    <action android:name="android.intent.action.TIME_SET"/>
</intent-filter>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM