5

Obecnie próbuję dodać widżet do mojego wniosku i opierając moje wykonanie na tym kodem http://developer.android.com/resources/samples/StackWidget/index.htmlAndroid StackWidget stanie związać

mam umieścić klas całe widgetów stos związane we własnym opakowaniu w moim głównym pakiecie . Package setyp

Gdy próbuję dodać widżet nie jest w stanie związać, a więc karty nie są wyświetlane (to właśnie stanowi domyślny tekst „To jest pusty widok”)

poniżej jest mój manifest.

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.bencallis.dealpad" android:versionCode="1" 
    android:versionName="1.0"> 

    <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="14" /> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    <application android:icon="@drawable/ic_launcher" 
     android:logo="@drawable/logo" android:theme="@style/DealPadTheme" 
     android:hardwareAccelerated="true" android:uiOptions="splitActionBarWhenNarrow"> 
     <activity android:label="@string/app_name" android:name=".DealPadActivity" 
      android:configChanges="keyboardHidden|orientation|screenSize"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".SettingsActivity" /> 
     <activity android:name="com.google.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> 


     <!-- Widgets --> 
     <receiver android:name=".stackwidget.StackWidgetProvider"> 
      <intent-filter> 
       <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
      </intent-filter> 
      <meta-data android:name="android.appwidget.provider" 
       android:resource="@xml/stackwidgetinfo" /> 
     </receiver> 

     <service android:name="stackwidget.StackWidgetService" 
      android:permission="android.permission.BIND_REMOTEVIEWS" 
      android:exported="false" /> 


    </application> 

</manifest> 

Komunikat o błędzie:

E/RemoteViewsAdapterServiceConnection(474): bind(): Unknown component ComponentInfo{com.bencallis.dealpad/com.bencallis.dealpad.stackwidget.StackWidgetService} 

Jestem pewien, że jest to prosta pomyłka gdzieś która czyni komponentu informacji powtarzania com.bencallis.dealpad.

Wszelkie pomysły?

+0

Wygląda na to, że jeśli nie umieściłbym go w swoim pakiecie, mogę go uruchomić. Z pewnością musi istnieć łatwy sposób, aby uruchomić go w swoim pakiecie? – bencallis

+0

Mam podobny problem: Moja klasa WidgetProvider jest w innym pakiecie i zawsze otrzymuję błąd ** Nieznany komponent **. Zabawne jest to, że mam inny widget, który nie jest widżetem kolekcji i działa dobrze na innym pakiecie. –

Odpowiedz

3

Okazało się, że miało to związek z moim manifestem i problem z lokalizacją usługi. Brakowało mi. w nazwie (która nadaje mu ścieżkę).

Głupi błąd!

+0

Osobiście próbuję umieścić komponenty w ścieżce innej niż ścieżka pakietu aplikacji. Następnie w pełni kwalifikuję nazwę klasy. O wiele łatwiej jest uniknąć błędów związanych z refaktorami Eclipse. –

Powiązane problemy