小部件未按预期显示在小部件中。

3
我开发了一个同时有小部件的Android应用程序。问题是当我将该应用程序安装到我的设备上时,小部件并没有像应该在小部件选项卡中可见(我正在使用Android 4.0.3)。小部件在模拟器中运行良好。然而,如果我重新安装应用程序到我的设备上,小部件就会显示出来。有人能解释这种奇怪的行为吗?有什么猜测吗?
代码可以在这里找到:Widget has a weird bahaviour

你为什么开了一个新问题,感到困惑了吗? - Aaron McIver
可能是重复的问题:Widget has a weird bahaviour - Aaron McIver
行为在那里是不同的。小部件在那里没有响应。在这种情况下,小部件甚至在小部件列表中也不可用(适用于Android 4.0.3的小部件选项卡)。我的Android清单或代码定义可能存在问题。此外,每次更新versionCode时,小部件可能不可见。有什么想法吗? - JustCurious
3个回答

1
当您的应用程序安装在SD卡中时,会出现这种情况。在这种情况下,您无法在小部件列表中看到您的应用程序。您需要转到“设置->应用程序->您的应用程序”,然后将其移动到手机(内存)。现在您可以在小部件列表中看到小部件了。
干杯!!! Chanaka

1
据我所知,您需要拥有一个活动,并且用户必须在启动该活动之前才能让系统识别您的<receiver>元素。这似乎是Android 3.1中引入的更大的“除非手动启动应用程序,否则不会有任何BroadcastReceiver可用”的变化的结果。

那么,您的建议是我可能在打开应用程序之前尝试安装小部件了? - JustCurious
@JustCurious:是的。我偶尔看到过某些情况下不需要这样做,但我无法通过其他方式重现导致应用程序小部件出现的步骤,除非启动活动。可能正如您所建议的那样,重新安装会自动将应用程序移出停止状态。如果是这样,在生产中并不特别有用,尽管在开发过程中可能很有用。 - CommonsWare

0

据我所知,这是一个错误

@CommonsWare描述的“运行活动以显示它”的方法对于Honeycomb来说是个不错的“解决方案”,但在ICS上无法使用。

我在ICS中找到的唯一解决方法是进入设置>应用程序>启动器并“停止”它。

或者您可以重启手机。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接