我是在activity中更新 appWidget 在模拟器能能正常更新
但在手机上我在activity中点击更新 桌面的appWidget不会有变化
代码是这样的
- Java code
/** * 在appWidget上显示当前播放歌曲 * * @param music * 歌曲信息 */ public void setAppWidgetMusic( Music music) { views.setTextViewText(R.id.musicNameText, music.getArtist() + "-" + music.getTitle()); //appWidgetManager.updateAppWidget(mAppWidgetId, views); //获得appwidget管理实例,用于管理appwidget以便进行更新操作 //相当于获得所有本程序创建的appwidget System.out.println("musicname"+music.getArtist()+" _"+music.getTitle()); //更新appwidget AppWidgetManager.getInstance(getContext()).updateAppWidget(componentName, views); }
如果我在updateAppWidget下面写个
Thread.currtentThread().sleep(3000);
AppWidgetManager.getInstance(getContext()).updateAppWidget(componentName, views);
桌面的widget就会有变化
或者 for循环输出 中间用sleep间隔都能输出
就是总时间不能小于2秒以上 为什么呀 代码应该没问题 2.1模拟器上一切都是正常的
------解决方案--------------------
不能更新的话,应该有log吧,贴出来看看
------解决方案--------------------
会有一些warning的信息,也要看一下的