2010-08-05 19 views
5

Sembrava il mio # $ #% $% # $ il ricevitore non era i elemento applicazione nel manifestareAppWidget Android non mostrando

Hi

Ho appena creato l'AppWidget helloworld per vedere come la sua lavori. Ho seguito l'esempio di sviluppo sul sito di adroid dev. Ma per qualche motivo il widget non si vuole mostrare nell'elenco dei widget.

AndroidManifest.xml

<receiver android:name="VoiceRIAWidget" android:label="Voice RIA"> 
     <intent-filter> 
      <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
     </intent-filter> 
     <meta-data android:name="android.appwidget.provider" 
      android:resource="@xml/appwidget_info" /> 
    </receiver> 

appwidget_info.xml

<?xml version="1.0" encoding="utf-8"?> 
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
    android:label="Voice RIA" android:minWidth="50dp" android:minHeight="50dp" 
    android:updatePeriodMillis="86400000" android:initialLayout="@layout/appwidget"> 
</appwidget-provider> 

VoiceRIAWidget

public class VoiceRIAWidget extends AppWidgetProvider 
{ 

    @Override 
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, 
      int[] appWidgetIds) 
    { 

     final int N = appWidgetIds.length; 

     for (int i = 0; i < N; i++) 
     { 
      int appWidgetId = appWidgetIds[i]; 

      CharSequence text = "Hello"; 

      RemoteViews views = new RemoteViews(context.getPackageName(), 
        R.layout.appwidget); 

      views.setTextViewText(R.id.appwidget_text, text); 

      appWidgetManager.updateAppWidget(appWidgetId, views); 
     } 

     super.onUpdate(context, appWidgetManager, appWidgetIds); 
    } 
} 

appwidget.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/appwidget_text" android:layout_width="wrap_content" 
    android:layout_height="wrap_content" android:textColor="#ff000000" /> 

Non riesco a vedere quello che mi manca funziona ma niente nella lista.

risposta

6

Ho appena avuto lo stesso problema. Il mio errore è stato che ho messo il tag del ricevitore appena dentro il mio tag manifest, quando avrei dovuto inserirlo nel tag dell'applicazione. Questa era la mia non-lavoro-XML:

<manifest....> 
    .... 
    <receiver ...> 
    ... 
    </receiver> 
    <application ...> 
    ... 
    </applciation> 
</manifest> 

Questo è il mio ben-lavoro-XML:

<manifest...> 
    .... 
    <application...> 
    ... 
    <receiver...> 
     ... 
    </receiver> 
    </application>  
</manifest> 

Spero che ti aiuta!

4

Ho appena avuto lo stesso problema. Il mio errore è stato la creazione di un widget dell'app come aggiunta a un'app esistente installata su sd-card. Spostare l'app sul telefono lo ha risolto.

0

affrontato il problema simile. Stavo mettendo i metadati fuori dal ricevitore che hai già fatto correttamente al primo posto.

Problemi correlati