/ / Android: Widgets que não aparecem na gaveta de aplicativos ICS - android, android-widget, homescreen

Android: Widgets que não aparecem na gaveta de aplicativos ICS - android, android-widget, homescreen

Eu tenho dois widgets e nenhum deles irá mostrarna gaveta de aplicativos. O que é estranho é que se eu remover um do manifesto ele não vai aparecer, mas eu não consigo ver o que estou fazendo errado. De todas as outras perguntas que eu procurei parece certo. O aplicativo não está sendo instalado em o cartão SD.

Alguém tem alguma ideia?

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>

Respostas:

2 para resposta № 1

Se o seu aplicativo for apenas um appwidget, sem atividades além da configuração, você precisará de uma atividade principal simulada para fazer com que seu appwidget apareça na gaveta.

Veja o problema original no Google Code: http://code.google.com/p/android/issues/detail?id=24208esta resposta: Android 4.0: widgets não aparecendo? e também este segmento interessante no Android Devs Google Group: https://groups.google.com/forum/?fromgroups#!topic/android-developers/bvlk3EOV6Xk (é sobre o Honeycomb, mas aplica-se às versões do Android 3.xe superior)


4 para resposta № 2

Adicione os atributos "minHeight" e "minWidth" aos seus elementos appwidget-provider para cada um dos seus widgets e veja se isso faz o truque para você.

Se você verificar o logcat ao executá-lo no emulador, deverá notar que o ativador emitirá uma mensagem sobre dimensões inválidas e o nome do seu widget será anexado a essa linha.

Eu só tive esse problema e é assim que eu resolvi(embora eu tivesse um min e no máximo fornecido por acidente). A mensagem de logcat disse que eu tinha uma dimensão de (108, 0). Isso me levou a olhar para todas as minhas dimensões, uma vez que estava gritando comigo por ser 0.

Este foi o meu post: Widget de aplicativo não é exibido na gaveta de aplicativos do ICS