私のウィジェットは毎日0:00にtextviewsを更新する必要があります。 widget_provider.xmlではandroid:updatePeriodMillis="1000"
を設定しましたが、最低限の更新時間は30分であることを読みました。このためにalarmManagerを使用する必要があります。ですから毎日0時にリフレッシュを開始するアラームが必要です。 UpdateService.classは(日付に基づいてtextviewsのためのテキストを設定するクラスはちょうど真夜中過ぎの周りの半分の時間までは呼び出されません。)リフレッシュを扱うAndroid:AppWidgetProviderでアラームを作成する方法
私はこのコードを使用しています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);
コピーされたカットの3行目ではEclipseは言う:
The method getSystemService(String) is undefined for the type HelloWidget
HelloWidgetがAppWidgetProviderの名前です。
おかげ