我的小部件应该每天在0:00刷新其文本视图。在widget_provider.xml中,我设置了android:updatePeriodMillis="1000"
,但我读到最小更新周期是30分钟,我必须使用alarmManager。所以我想要一个警报,每天0点触发刷新。 UpdateService.class处理刷新(根据日期设置textviews文本。直到午夜后半小时才会调用该类)
在我使用此代码的public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
方法中:
Intent intentN = new Intent(context, UpdateService.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(context.ALARM_SERVICE);
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
cal.add(Calendar.HOUR_OF_DAY, 0);
cal.add(Calendar.MINUTE, 0);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24*60*60*1000, pendingIntent);
在复制剪辑的第三行,Eclipse说:
The method getSystemService(String) is undefined for the type HelloWidget
HelloWidget是AppWidgetProvider的名称。
由于
答案 0 :(得分:2)
你试过吗
AlarmManager alarmManager = (AlarmManager)context.getSystemService(context.ALARM_SERVICE);