0
두 번째 또는 분 간격으로 업데이트되는이 위젯이 있습니다. 내가 전화 했어, 당신은 위 참조로, 그래서AlarmManager를 설정하기 전에 pendingIntent를 호출하는 방법
public class MyWidgetConfiguration extends PreferenceActivity {
// [...] Some code...
private void createWidget() {
Context c = getApplicationContext() ;
SharedPreferences sp = getSharedPreferences(PREF_NAME+widgetID, MODE_PRIVATE);
// Set layout
AppWidgetManager awm = AppWidgetManager.getInstance(c);
RemoteViews rv = new RemoteViews(c.getPackageName(), LAYOUT_ID);
awm.updateAppWidget(widgetID, rv);
// start alarm manager running this particular widget
Intent i = new Intent(c, MyWidgetReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(c, 0, i, 0);
AlarmManager a = (AlarmManager) c.getSystemService(Context.ALARM_SERVICE);
/**
* MY GUESS IS, THAT I'D HAVE TO ADD SOME KIND OF PendingIntent CALL HERE,
* I TRIED COUPLE OF THINGS, BUT MOST OF THEM INTERFERED OR CANCELLED FOLLOWING
* AlarmManager REPEATING...
*
* DELAY contains time left to closest full minute
*/
a.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + DELAY, MINUTE, pi);
/// return widget ID
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetID);
setResult(RESULT_OK, resultValue);
finish();
}
// [...] More of some code...
}
: 사용자가 모든 설정 그가 설정이 종료 제대로 나는 메소드를 호출하는거야 것을 결정할 때 PreferencesActivity 화면하는 위젯을 추가 한 후
는시작됩니다 alarmManager 처음 분부터 모든 분, 그리고 괜찮아요 지연 패스 후,하지만 그 전에 내 위젯 좀 시간이 좀 냉동입니다. 나는 이것을 막고 싶지만 Receiver에 추가적인 로직을 추가하지 않고 매 초마다 호출 할 수 있기 때문에. 전체 & 원본 코드는 다음과 같습니다. http://goo.gl/uOP9P