Android 在日变化时更新小部件

Android 在日变化时更新小部件,android,Android,我有一个显示当前日期的小部件。但是,小部件仅在用户在主活动中执行操作时更新 我该如何强制小部件在下一次午夜后开机时更新,以反映新的日期 我知道我可能需要一个AlarmManager,但我不清楚参数。我是否把它放在我的主活动中,让它调用在我的小部件上调用update的方法?以类似的方式,我有一个服务,我想在特定的时间运行。当这个服务完成它的工作后,它会更新我的小部件并停止自己(服务)。下面是我如何在指定时间启动服务的一个片段 Intent mSrvcIntent = new Intent(pack

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

我该如何强制小部件在下一次午夜后开机时更新,以反映新的日期


我知道我可能需要一个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 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" />...

...
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>

这对我很有用:

<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>


在我们的应用程序中定义此报警管理器时,我需要一个帮助。在我们的应用程序中定义此报警管理器时,我需要一个帮助。