2011-04-06 5 views
0

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을 구현하여이 문제를 해결하려면 이동 관리

더 작은.

답변

관련 문제