wakelock과 함께 서비스를 사용하는 위젯을 작성하여 xml의 데이터를 업데이트하고 파싱 한 다음 위젯의 UI를 업데이트하여 아이템이 "몇 초마다 . 표준 뉴스 피드 위젯)오류 또는 예외없이 몇 시간이 지나면 위젯 UI 업데이트가 중지됩니다.
문제는 UI 데이터가 업데이트를 유지하지만, 몇 시간 후에 업데이트 중지한다는 것입니다 여기에
내가 UI 업데이트하기 위해 사용하고있는 코드입니다 :.mUpdateTimeTask = null;
mUpdateTimeTask = new Runnable()
{
public void run()
{
if(which_item+1 < Widget_titles.length)
which_item++;
else
which_item = 0;
if(Widget_which_item_ed != null)
{
Widget_which_item_ed.putInt("WIDGET_WHICH_ITEM", which_item);
Widget_which_item_ed.commit();
}
else
{
Widget_which_item = context.getSharedPreferences("WIDGET_WHICH_ITEM", Context.MODE_WORLD_WRITEABLE);
Widget_which_item_ed = Widget_which_item.edit();
Widget_which_item_ed.putInt("WIDGET_WHICH_ITEM", which_item);
Widget_which_item_ed.commit();
}
updateViews.setTextViewText(R.id.WidgetText, Widget_titles[which_item]);
updateViews.setTextViewText(R.id.WidgetPostTime, rightNow.get(Calendar.MONTH)+"/"+rightNow.get(Calendar.DATE)+"/"+rightNow.get(Calendar.YEAR));
manager = AppWidgetManager.getInstance(context);
manager.updateAppWidget(WidgetId, updateViews);
mHandler.removeCallbacks(mUpdateTimeTask);
mHandler.postDelayed(this, widget_interval * 1000);
}
};
mHandler.postDelayed(mUpdateTimeTask, widget_interval * 1000);
Log.i(TAG, "sliding update handler was configed");
을 나는 정말로 붙어서 정말로 도움을 사용할 수있다. .
편집 : http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/ 위젯이 실행하는 데 필요한 시간 때문에 양 : 여기에 튜토리얼에서와 같이 내가 온/오프 의도에서 화면의 BroadCastReciever을 구현하여이 문제를 해결하려면 이동 관리
더 작은.