/ / Android: Widgets nicht im App-Schublade ICS - Android, Android-Widget, Homescreen

Android: Widgets nicht in der App-Schublade ICS - Android, Android-Widget, Homescreen

Ich habe zwei Widgets und keiner von ihnen wird zeigenin der App-Schublade. Was komisch ist, ist, dass, wenn ich einen aus dem Manifest entferne, er auch nicht erscheint, aber ich kann nicht sehen, was ich falsch mache. Von all den anderen Fragen, die ich durchsucht habe, sieht es richtig aus. Die App wird nicht installiert die SD-Karte.

Hat jemand Ideen?

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>

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>

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>

Antworten:

2 für die Antwort № 1

Wenn es sich bei Ihrer App lediglich um ein Appwidget handelt, bei dem es außer einer Konfiguration keine Aktivitäten gibt, benötigen Sie eine Dummy-Hauptaktivität, damit Ihr Appwidget in der Schublade angezeigt wird.

Sehen Sie sich das ursprüngliche Problem in Google Code an: http://code.google.com/p/android/issues/detail?id=24208, diese Antwort: Android 4.0: Widgets werden nicht angezeigt? und auch dieser interessante Thread in Android Devs Google Group: https://groups.google.com/forum/?fromgroups#!topic/android-developers/bvlk3EOV6Xk (es geht um Honeycomb, aber gilt für Android-Versionen 3.x und höher)


4 für die Antwort № 2

Fügen Sie Ihren appwidget-provider-Elementen für jedes Ihrer appwidgets die Attribute "minHeight" und "minWidth" hinzu und prüfen Sie, ob dies für Sie geeignet ist.

Wenn Sie logcat beim Ausführen im Emulator überprüfen, sollten Sie feststellen, dass das Startprogramm eine Nachricht über ungültige Dimensionen ausgibt, und der Name Ihres Widgets wird an diese Zeile angehängt.

Ich hatte gerade dieses Problem und so habe ich es gelöst(obwohl ich eine Minute und maximal auf Unfall zur Verfügung gestellt hatte). Die Logcat-Nachricht besagt, dass ich eine Dimension von (108, 0) habe. Dies führte mich dazu, alle meine Dimensionen zu betrachten, da es mich anschrie, dass die Höhe 0 ist.

Das war mein Beitrag: App-Widget wird nicht in der ICS-App-Schublade angezeigt