Android:如何在AppWidgetProvider中创建警报

时间:2011-07-18 18:33:55

标签: android widget alarm

我的小部件应该每天在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的名称。

由于

1 个答案:

答案 0 :(得分:2)

你试过吗

AlarmManager alarmManager = (AlarmManager)context.getSystemService(context.ALARM_SERVICE);