大家好,欢迎来到IT知识分享网。
我知道参数updatePeriodMillis根据/ res / xml中存在的widgetproviderinfo.xml中的规范确定应用程序窗口小部件的更新频率
android:configure=”com.example.appwidget.ConfigurationActivity”
android:initialLayout=”@layout/layout_appwidget_large”
android:minHeight=”115dp”
android:minWidth=”250dp”
android:updatePeriodMillis=”1800000″ >
这种方法的缺点在于,如果电话正在睡眠,则通过以指定的间隔唤醒电话来更新小部件.所以问题在于电池消耗
如果间隔非常小,这是一个主要问题.
但是,如果您需要更频繁地更新和/或在设备处于睡眠状态时不需要更新,那么您可以根据警报执行更新
不要唤醒设备.为此,请使用AlarmManager使用AppWidgetProvider接收的Intent设置警报.将警报类型设置为
ELAPSED_REALTIME或RTC,仅在设备唤醒时发出警报.然后将updatePeriodMillis设置为零(“0”).至
代码看起来像这样:
final Intent intent = new Intent(context, UpdateService.class);
final PendingIntent pending = PendingIntent.getService(context, 0, intent, 0);
final AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarm.cancel(pending);
long interval = 1000*60;
alarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(),interval, pending);
所以我的问题如下:
假设AlarmManager用于执行更新.此外,如果在widgetproviderinfo.xml中,updatePeriodMillis未设置为0,则
哪个值优先?作为Alarm或updatePeriodMillis的一部分指定的值?
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/25592.html