2012-02-10 14 views
5

Ho due widget e nessuno di essi verrà visualizzato nel cassetto delle applicazioni. La cosa strana è che se ne rimuovo uno dal manifest non verrà visualizzato, ma non riesco a vedere cosa sto facendo male. Da tutte le altre domande che ho cercato sembra giusto. L'app non viene installata sulla scheda SD.Android: widget non visualizzati nel pannello delle applicazioni ICS

Qualcuno ha qualche idea?

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> 
+2

ho notato che quando installo nuove applicazioni loro widget a volte non si presentano nella sezione widget fino a quando non ho riavviato il mio telefono. Questa non è una build ufficiale di 4.0.3, quindi ho sempre pensato che fosse qualcosa di sbagliato con la mia build, ma forse stai vedendo lo stesso problema? – Kaediil

+1

Ho lo stesso problema pure. Sembra che sia memorizzato nella cache come .. – Ran

+0

Purtroppo questo non risolve il problema. – FuegoFingers

risposta

2

Se la tua app è solo un appwidget, senza attività oltre a quella di configurazione, hai bisogno di un'attività fittizia principale per far apparire il tuo appwidget nel cassetto.

Vedere il problema originale in Google Code: http://code.google.com/p/android/issues/detail?id=24208, questa risposta: Android 4.0: widgets not appearing? e anche questa discussione interessante in Devs Android Google Gruppo: https://groups.google.com/forum/?fromgroups#!topic/android-developers/bvlk3EOV6Xk (si tratta di nido d'ape, ma si applica alle versioni Android 3.xe maggiore)

4

Aggiungi gli attributi "minHeight" e "minWidth" agli elementi del tuo appwidget-provider per ciascuno dei tuoi appwidgets e vedi se questo fa per te.

Se si controlla logcat durante l'esecuzione nell'emulatore, si dovrebbe notare che il programma di avvio emette un messaggio relativo alle dimensioni non valide e il nome del widget verrà allegato a questa riga.

Ho appena avuto questo problema e questo è il modo in cui l'ho risolto (anche se ho avuto un minuto e un massimo forniti in caso di incidente). Il messaggio logcat diceva che avevo una dimensione di (108, 0). Questo mi ha portato in guardando tutte le mie dimensioni da quando è stato inveire contro di me per l'altezza in corrispondenza dello 0.

Questo è stato il mio post: App Widget not displaying in ICS app drawer

Problemi correlati