2010-08-05 22 views
5

parecía a mi # $ #% $% # $ el receptor no era órgano de aplicación i en el manifiestoappwidget Android no mostrando

Hola

acabo de crear la appwidget holamundo para ver cómo su trabajos. Seguí el ejemplo del desarrollador en el sitio de desarrollo de Android. Pero, por alguna razón, el widget no quiere mostrarse en la lista de widgets.

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" /> 

No puedo ver lo que me falta que se ejecuta, pero nada en la lista.

Respuesta

6

Acabo de tener el mismo problema. Mi error fue que puse la etiqueta del receptor justo dentro de mi etiqueta de manifiesto, cuando se suponía que debía ponerla dentro de mi etiqueta de aplicación. Esta fue mi no-trabajo-XML:

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

Este es mi trabajo bien en XML:

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

Espero que te ayude!

4

Acabo de tener el mismo problema. Mi error fue que estaba construyendo un widget de aplicación como complemento a una aplicación existente que estaba instalada en la tarjeta SD. Mover la aplicación al teléfono lo solucionó.

0

enfrentan el problema similar. Estaba colocando metadatos fuera del receptor que ya has hecho correctamente en primer lugar.

Cuestiones relacionadas