问题是,随着图像随时间的变化,窗口小部件的图像不会改变.我使用root资源管理器检查保存的png,并正确更新.但不显示正确的图像.每个小部件显示从添加到主屏幕的时间的图像.如果我使用setimageVIEwBitmap(…)它可以正常工作,除了罕见的失败的binder事务.
我使用下面的方法从服务更新窗口小部件.它不适用于Android 2.3.7,并且运行于2.2的模拟器.可能是什么问题呢?它是否以某种方式缓存?
public voID updateWidget(Context context) { // redraws the Widget's image updateIcon(); OutputStream stream; try { stream = context.openfileOutput("icon.png",Context.MODE_WORLD_READABLE); } catch (fileNotFoundException ex) { ex.printstacktrace(); return; } m_Icon.compress(CompressFormat.PNG,100,stream); try { stream.close(); } catch (IOException ex) { ex.printstacktrace(); } AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); int[] appWidgetIDs = appWidgetManager.getAppWidgetIDs(new Componentname(context,WidgetProvIDer.class)); Intent intent = new Intent(context,MyDialog.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent clickIntent = PendingIntent.getActivity(context,intent,0); file file = new file(context.getfilesDir().getabsolutePath() + file.separator + "icon.png");// Uri uri = Uri.fromfile(file); // update all Widgets on home screen for (int wID : appWidgetIDs) { RemoteVIEws Widget = new RemoteVIEws(context.getPackagename(),R.layout.Widget); Widget.setonClickPendingIntent(R.ID.Widget_layout,clickIntent); // === EDIT === // Uri.fromfile(file); does not work correctly on androID 2.1,only 2.2 and up // Widget's image will disappear// Widget.setimageVIEwUri(R.ID.Widget_icon,uri); Widget.setimageVIEwUri(R.ID.Widget_icon,Uri.parse(file.getPath())); intent.putExtra(AppWidgetManager.EXTRA_APPWidget_ID,wID); appWidgetManager.updateAppWidget(wID,Widget); }}
编辑:
我也尝试过一个自定义的ContentProvIDer并设置“content:// …”uri,但结果相同.该小部件显示从添加到主屏幕时的图像,并且不会随时间更新.
logcat不显示任何错误.
解决方法 如果Uri保持不变,AndroID似乎不会更新图像.我发现了一个黑客来解决这个问题.只需调用Widget.setimageVIEwUri(R.ID.Widget_icon,Uri.parse(“”));之前的Widget.setimageVIEwUri(R.ID.Widget_icon,uri);.它调用setimageVIEwUri()两次,但似乎工作正常.我很乐意听到一个更好的方法来解决它,因为我自己遇到这个问题.
总结以上是内存溢出为你收集整理的android – 应用程序小部件setImageViewUri不会更新图像全部内容,希望文章能够帮你解决android – 应用程序小部件setImageViewUri不会更新图像所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)