Android:小部件未在应用程序抽屉ICS中显示

Fue*_*ers 5 android homescreen android-widget

我有两个小部件,它们都不会出现在应用程序抽屉中.奇怪的是,如果我从清单中删除一个它也不会出现,但我看不出我做错了什么.从我搜索的所有其他问题看起来是正确的.该应用程序未安装在SD卡上.

有人有主意吗?

AndroidManifest.xml中

<receiver
        android:name=".appwidgets.WidgetLarge"
        android:label="@string/Widget_large"
        android:icon="@drawable/icon" >
        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
        </intent-filter>
        <intent-filter>
            <action android:name="com.groggs.action.CACHE_UPDATE_FINISHED" />
        </intent-filter>
        <intent-filter>
            <action android:name="WIDGET_UPDATE" />
            <data android:scheme="content" />
        </intent-filter>

        <meta-data
            android:name="android.appwidget.provider"
            android:resource="@xml/widget_large_info" />
    </receiver>

    <receiver
        android:name=".appwidgets.WidgetSmall"
        android:label="@string/Widget_small"
        android:icon="@drawable/icon" >
        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
        </intent-filter>
        <intent-filter>
            <action android:name="com.groggs.action.CACHE_UPDATE_FINISHED" />
        </intent-filter>
        <intent-filter>
            <action android:name="WIDGET_UPDATE" />

            <data android:scheme="content" />
        </intent-filter>

        <meta-data
            android:name="android.appwidget.provider"
            android:resource="@xml/widget_small_info" />
    </receiver>
Run Code Online (Sandbox Code Playgroud)

widget_large_info.xml

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:maxWidth="450dp"
    android:maxHeight="352dp" 
    android:updatePeriodMillis="0"
    android:initialLayout="@layout/widget_layout_large"
    android:configure="com.groggs.appwidgets.config.HubQuickViewWidgetConfig" >
</appwidget-provider>
Run Code Online (Sandbox Code Playgroud)

widget_small_info.xml

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:maxWidth="450dp"
    android:maxHeight="82dp" 
    android:updatePeriodMillis="0"
    android:initialLayout="@layout/widget_layout_small"
    android:configure="com.groggs.appwidgets.config.HubQuickViewWidgetConfig" >
</appwidget-provider>
Run Code Online (Sandbox Code Playgroud)

Jos*_*_GD 2

如果您的应用程序只是一个应用程序小部件,除了配置之外没有任何活动,则您需要一个虚拟的主活动来使您的应用程序小部件出现在抽屉中。

请参阅Google Code中的原始问题:http://code.google.com/p/android/issues/detail ? id=24208,这个答案:Android 4.0: widgets not displayed? 还有 Android Devs Google Group 中这个有趣的帖子:https://groups.google.com/forum/?fromgroups# !topic/android-developers/bvlk3EOV6Xk (它是关于 Honeycomb 的,但适用于 Android 版本 3.x 及更高版本)