将代码提取到 lib 小部件后不再工作
Posted
技术标签:
【中文标题】将代码提取到 lib 小部件后不再工作【英文标题】:After extracting code to lib widget is no longer working 【发布时间】:2011-05-17 11:16:40 【问题描述】:作为我项目的一部分,我有一个完美工作的小部件。然后我决定将通用代码(包括小部件)提取到库项目中。完成此操作后,除小部件外,一切正常。它出现在可添加的小部件列表中,但是当我将它放在桌面上时,我得到的只是这个 toast 消息:“应用程序未安装在您的手机上”。有人可以阐明这一点吗?
配置和代码都没有改变。小部件定义存在于两个元文件(项目和 lib)中,项目元文件包含绝对(包括路径)名称和所有权限。
【问题讨论】:
【参考方案1】:我今天遇到了同样的问题。不过我想我已经找到了答案。
检查 AppWidget 元数据 XML 文件中 android:configure
元素的正确性。如果您有小部件配置活动,当您将小部件提取到不同的项目时,它的类名或包可能已更改。
现在系统找不到您提到的活动,并抱怨“您的手机上没有安装应用程序”。
【讨论】:
我认为我在转换时走错了路。我只是通过将现有项目转换为库然后创建使用它的全新项目来做到这一点,现在一切正常。谢谢你的回答,我会接受的 我只想强调,这也可能与 AndroidManifest.xml 中缺少活动声明有关。【参考方案2】:放入清单:
<intent-filter
<action android:name="com.mypage.activityConfig" />
</intent-filter>
【讨论】:
以上是关于将代码提取到 lib 小部件后不再工作的主要内容,如果未能解决你的问题,请参考以下文章
SoundCloud SC.Widget.Events.FINISH 不再触发 HTML5 小部件
Android:manifest targetSdkVersion 更改导致:图标不可见,小部件不再工作,并且无法访问数据