2016-07-17 7 views
10

Istnieją dyskusje na temat tego błędu, ale wygląda na to, że wszystkie one kończą się odpowiedziami na temat "zatrzymanego stanu" (aplikacji).GCM/FCM: nieodebrane zdarzenia, zamiar wywołania zwrotnego: wynik = ANULOWANY

Widzę coś innego.

Mam dwie próbki w chmurze, jedna jest oficjalną próbką GCM, a druga to projekt FCM, który nastąpił po samouczku i obaj zostali dotknięci.

Obie są instalowane na Samsung S6 z 6.0.1, urządzenie jest podłączone (bez drzemki) i podłączone do WiFi.

Od czasu do czasu, wysyłanie wiadomości Push do każdej próbki GCM lub do aplikacji FCM zaczyna zawodzić z nich w LogCat:

07-17 14: 37: 38,851 W/GCM-DMM (29459): callback call intencji: result = ANULOWANE forIntent {act = com.google.android.c2dm.intent.RECEIVE flg = 0x10000000 pkg = gcm.play.android.samples.com.gcmquickstart (ma dodatki)}

07-17 14: 38: 25,231 W/GCM-DMM (29459): callback callback intencji: result = ANULOWANO forIntent {act = com.google.android.c2dm.intent.RECEIVE flg = 0x10000000 pkg = firebasetest.example.kman .firebasetest (ma dodatki)}

Uruchamianie interfejsu dowolnej aplikacji spowoduje ponowne wysłanie wiadomości Push (do tej aplikacji), ale stare (które spowodowały błędy) nie zostaną ponownie dostarczone.

Teraz - nie wymusiłem zatrzymania żadnej z aplikacji. Jeden z nich użyłem zaledwie 15 minut temu. Urządzenie nie zasypiało (jego ekran był włączony i był podłączony przez cały czas).

Wyjaśnienie "force stopped" nie ma tutaj zastosowania, tryb Doze nie ma tutaj zastosowania.

Poza tym, mówiąc o "zatrzymaniu siły", wykonałem kilka testów, a następnie świadomie zamknąłem (GCM lub FCM) aplikację z "ostatniej listy aplikacji", sprawdzając, czy proces został zabity (za pomocą logcat), a następnie komunikaty push (GCM lub FCM) byłyby w porządku.

To musi być coś innego (nie "zatrzymana siła" lub tryb drzemki), a to coś innego powoduje, że komunikator push staje się nierzetelny, co pokonuje cel.

Jakieś pomysły na to, jak je wyśledzić, aby zapobiec/uniknąć tego nagłego zerwania dostarczania wiadomości Push?

manifeście objętych próbą GCM za:

https://github.com/googlesamples/google-services/blob/master/android/gcm/app/src/main/AndroidManifest.xml

manifest testu FCM w:

`` `xml

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <service android:name=".MyFirebaseMessagingService"> 
     <intent-filter> 
      <action android:name="com.google.firebase.MESSAGING_EVENT" /> 
     </intent-filter> 
    </service> 


    <service android:name=".MyFirebaseInstanceIDService"> 
     <intent-filter> 
      <action android:name="com.google.firebase.INSTANCE_ID_EVENT" /> 
     </intent-filter> 
    </service> 
</application> 

` ``

+2

Jakieś postępy w tej sprawie? Widzę to samo na moich telefonach. –

+0

Jakieś postępy w tym zakresie? –

Odpowiedz

0

Mój wniosek jest :

Jest to spowodowane przez Studio Android.

Kiedy skończysz pracę nad projektem na dany dzień i opuścisz AS, zapyta, czy aplikacja (która jest debugowana) powinna zostać zakończona.

Niezależnie od tego, co wybierzesz tutaj, AS zawsze zakończy aplikację i przejdzie w stan "zatrzymany" - nie tylko GCM, alarmy również przestaną wystrzelać.

Widzę, że to się zdarza przez cały czas, i nawykłem, by samemu zrestartować aplikację i zrobić coś, co nie oznacza, że ​​"przestał" i nie zaskoczyło mnie ("co się stało") następnego dnia .

Myślałem, że zgłosiłem do tego błąd, ale nie mogę go teraz znaleźć. Jeśli ktoś jest zainteresowany, nie krępuj się ...

+0

ma to więcej sensu, że to jest, gdy ADB jest podłączone do urządzenia, które myślę - miałem ten sam problem z emulatorem, zabiłem Android Studio i powiadomienia zaczęły napływać po uruchomieniu, a następnie zabiły moją aplikację (podczas gdy Android Studio zostało otwarte nie powiadomienia będą przychodzić po zabiciu aplikacji) – kassim