是否有人遇到过他们的应用程序小部件未在 ICS 应用程序抽屉中列出?
最初,我为FroYo及更低版本启动了此应用程序,该应用程序支持应用程序小部件。随之而来的是姜饼和蜂窝,这些工作也是如此。
如果我打开"小部件预览"应用程序,该小部件将显示在模拟器的列表中,但是当您打开抽屉时,它不会与其他小部件一起列出。它确实出现在蜂巢上。我也没有(其他人也没有)在我的Galaxy Nexus上看到它。
我尝试重新启动,因为我已经看到在初始安装后为某些人解决了问题。我也有一个主要的活动与行动。主要/类别。启动器意图过滤器 因为我有应用程序活动,这不是仅小部件类型的项目。
我将在下面发布一些片段,如果需要更多,请告诉我。我的 minSdkVersion 为 7,目标 SdkVersion 为 15,项目属性的目标也为 4.0.3。"安装位置"属性设置为"自动"。
AndroidManifest.xml:
<receiver android:name=".AppWidget" android:label="@string/one_cell_widget_label">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<intent-filter>
<action android:name="com.frankcalise.h2droid.FORCE_WIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/one_cell_widget_settings" />
</receiver>
one_cell_widget_settings.xml:
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/one_cell_widget"
android:minWidth="@dimen/one_cell_widget"
android:maxHeight="@dimen/one_cell_widget"
android:updatePeriodMillis="0" >
</appwidget-provider>
one_cell_widget.xml:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget_background"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/widget_margin"
android:background="@drawable/widget_background">
<TextView
android:id="@+id/widget_title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/widget_amount_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/default_widget_amount"
android:textSize="12sp"
android:textColor="@color/amount_color" />
<TextView
android:id="@+id/widget_percent_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/default_widget_percent" />
</LinearLayout>
然后显然我在 AppWidget 中实现了该类.java
public class AppWidget extends AppWidgetProvider
更新:
我今天早些时候发现的一条重要的logcat消息帮助我解决了这个问题:
06-01 14:41:31.606: E/AppsCustomizePagedView(199): Widget ComponentInfo{com.frankcalise.h2droid/com.frankcalise.h2droid.AppWidget} has invalid dimensions (108, 0)
我发现了这个问题。我的appwidget-provider元素在其中一个属性中有一个拼写错误,它应该说"minHeight",而不是"maxHeight"。
导致我发现这一点的原因是从启动器在logcat中找到错误输出。它提到我的小部件具有无效的尺寸(因此它没有将其添加到小部件列表中)。因此,我开始检查与我的小部件相关的所有维度属性。