你好
我正在写一个 Android Widget;我想要每1-5分钟更新一次,以监控webservice的数据,但是我发现android:updatePeriodMillis不能少于30分钟….我如何通过Widget获得这个结果?
我正在写一个 Android Widget;我想要每1-5分钟更新一次,以监控webservice的数据,但是我发现android:updatePeriodMillis不能少于30分钟….我如何通过Widget获得这个结果?
谢谢和问候
C.
解决方法
每1分钟通话一次,注册一个AlarmManager服务.
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);
但是,将更新推送到应用程序小部件是一项昂贵的操作.每1分钟更新会强制您的“更新应用程序小部件”代码驻留在内存中,这些内存将始终保持运行状态,而且这也将大大地消耗电池.