【问题标题】:UI update on widget stops after a few hours with no error or exception小部件上的 UI 更新在几个小时后停止,没有错误或异常
【发布时间】:2011-04-06 06:02:53
【问题描述】:

我创建了一个小部件,它使用带有唤醒锁的服务来更新和解析来自 xml 的数据并更新小部件的 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");

我真的被困住了,真的可以求助。

编辑:

我设法通过为屏幕开/关意图实现 BroadCastReciever 来解决这个问题,如以下教程所示:http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/ 因此,小部件需要运行的时间要少得多。

【问题讨论】:

    标签: android-widget widget handler


    【解决方案1】:

    编辑:

    我设法通过为屏幕开/关意图实现 BroadCastReciever 来解决这个问题,如以下教程所示:http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/,因此小部件需要运行的时间要少得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多