2010-08-05 18 views
5

Wyglądał jak mój # $ #% $% # $ odbiornika nie ja elementem aplikacji w jawnymAndroid appwidget nie pokazując

Hi

Właśnie stworzył appwidget helloworld aby zobaczyć, jak jego Prace. śledziłem przykład dev na stronie adroid dev. Ale z jakiegoś powodu widget nie chce wyświetlać się na liście widżetów.

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

Nie widzę, czego mi brakuje, ale nie ma na liście.

Odpowiedz

6

Po prostu miałem ten sam problem. Mój błąd polegał na tym, że umieściłem znacznik odbiornika tuż pod moim znacznikiem manifestu, kiedy miałem go umieścić w moim znaczniku aplikacji. To był mój nie-pracy-XML:

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

To mój dobrze pracującej XML:

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

Nadzieję, że to pomaga!

4

Po prostu miałem ten sam problem. Mój błąd polega na tym, że buduję widżet aplikacji jako dodatek do istniejącej aplikacji zainstalowanej na sd-card. Przeniesienie aplikacji na telefon ją naprawiło.

0

napotkał podobny problem. Wprowadzałem metadane poza odbiornik, który już zrobiłeś poprawnie na pierwszym miejscu.

Powiązane problemy