android – 经常更新小部件(比UpdatePeriodMillis允许的更频繁)

我想要一个小部件,显示用户启动跟踪公共汽车出发的倒计时.我每隔几分钟就要更新小部件,从用户启动跟踪到总线已经离开(即时间用完)时.

这个小部件需要比updatePeriodMillis允许的频率更新,每30秒钟更新一次.我估计每一分钟一次.

作为Android编程的新手,我可以想到几种方法来做到这一点,但是我可能会以一种消耗太多电池等的方式来完成,所以我正在寻找更多有经验的Android开发人员的一些见解.

如何启动计时器?如何从我的应用程序运行时访问小部件实例?等等.

解决方法

我会注册一个警报,每1分钟启动我的服务,该服务将更新小部件UI
final Intent intent = new Intent(context,UpdateService.class);
final PendingIntent pending = PendingIntent.getService(context,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.ELAPSED_REALTIME不会在设备睡眠时不会影响设备的电池寿命.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...