在Stack Overflow的某个地方,有一天我找到了以下代码,我对应用程序进行了一些调整:
private voID updateWidget() { AppWidgetManager WidgetManager = AppWidgetManager.getInstance(ctx); Componentname WidgetComponent = new Componentname(ctx, Myappwidgetprovider.class); int[] WidgetIDs = WidgetManager.getAppWidgetIDs(WidgetComponent); Intent update = new Intent(); update.putExtra(AppWidgetManager.EXTRA_APPWidget_IDS, WidgetIDs); update.setAction(AppWidgetManager.ACTION_APPWidget_UPDATE); ctx.sendbroadcast(update);}
这应该以编程方式刷新应用程序小部件的所有实例. ctx是我在onCreate()中设置的Activity的上下文(此).上面的方法在Activity的onStop()方法中调用.
不幸的是,当它被调用时,它至少一段时间内被其他应用程序的小部件(例如AP News)替换了该应用程序的小部件.
怎么会这样代码有问题吗?
谢谢!
编辑#1:为了更清楚地指出这一点:我已经定义了自动刷新的间隔.但是除此之外,我还想不时从Activity中更新小部件. This question表示这也是可能的.
编辑#2:我刚刚看到错误的窗口小部件仅显示了几秒钟.之后,再次显示我自己的应用程序的小部件.
解决方法:
过去,我在使用小部件时遇到了一些问题,并且已经解决了.我真的不知道我的解决方案对我有用的原因.由于它适用于Marco W.,因此将其放置在这里:我所做的只是将更新代码移到了服务中.当我需要更新时,请启动该服务.同样,我不确定,但是问题已解决.
感谢marco,我有了更多使用AndroID的经验.这很有趣 :-)
总结以上是内存溢出为你收集整理的在Android中以编程方式刷新时,小部件被其他内容替换全部内容,希望文章能够帮你解决在Android中以编程方式刷新时,小部件被其他内容替换所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)