2017-03-14 12 views
7

Mam IntentService, która używa Android.upport.v4.os.ResultReceiver do przekazywania danych. W IntentService kiedy używać metody ResultReceiver.send wysłać wynik z powrotem, Android Studio pokazuje błąd mówiącWynikReceiver.send można wywołać tylko z tej samej grupy bibliotek

ResultReceiver.send może być wywołana tylko z tej samej grupy biblioteki (GroupID = com.android.support)

Otrzymuję podobny komunikat podczas wywoływania konstruktora ResultReceiver. Ale kod działa nawet z tym błędem. Zaczęło się to pojawiać po uaktualnieniu wersji biblioteki pomocy technicznej do wersji 25.1.1.

Co powinienem zrobić, aby to obejść?

+0

To dlatego, że musisz przedłużyć tę klasę. I w nowej klasie zastąpić metodę onReceiveResult(). – ZeekHuge

+3

@ZeekHuge to jest dokładnie to, co zrobiłem. Ale kiedy wzywam super konstruktora w moim konstruktorze klasy rozszerzonej, pokazuje on błąd. – kp91

Odpowiedz

7

Istnieją dwie oddzielne wersje ResultReceiver. Wsparcie zdefiniowane w pakiecie android.support.v4.os ma ten problem.

Aby szybko naprawić, użyj standardowego ResultReceiver zdefiniowanego w pakiecie android.os.

+0

Dlaczego nie obsługuje wersji? – UnKnown

+0

Myślę, że nie został jeszcze dodany do obsługi biblioteki. –

1

Miałem podobny problem. Wystarczy zaktualizować buildToolsVersion do '25 .0.2 'w pliku build.gradle. Po aktualizacji błędu zniknął. czyste n budowanie.

+0

Pozdrawiam mate, chyba zawsze dobry pomysł na aktualizację? –

+3

Nie działa. Jakieś inne rozwiązanie? – mallaudin

+1

Jestem na buildToolsVersion "25.0.3" i nadal otrzymuję ten problem. – marienke

Powiązane problemy