2016-07-17 3 views
10

このエラーの説明はありますが、それらはすべてアプリケーションの停止状態に関する回答で終わっているようです。GCM/FCM:イベントを受信して​​いない、ブロードキャストインテントコールバック:結果= CANCELED

私は別の何かを見ている。

私は2つのクラウドプッシュサンプルを持っています.1つは公式のGCMサンプルであり、もう1つはチュートリアルに従ったFCMプロジェクトであり、どちらも影響を受けています。

両方とも6.0.1のSamsung S6にインストールされ、デバイスは接続されており(Dozeなし)、WiFiに接続されています。随時

、GCMのサンプルのいずれかにまたはFCMのアプリにプッシュメッセージを送ることがlogcatにこれらで失敗を開始:

7月17日14:37:38.851 W/GCM-DMM (29459):ブロードキャストインテントコールバック:結果= CANCELED forIntent {act = com.google.android.c2dm.intent.RECEIVE flg = 0x10000000 pkg = gcm.play.android.samples.com.gcmquickstart(extras)}

07-17 14:38:25.231 W/GCM-DMM(29459):ブロードキャストインテントコールバック:結果= CANCELED forIntent {act = com.google.android.c2dm.intent.RECEIVE flg = 0x10000000 pkg = firebasetest.example.kman .firebasetest(補足あり)}

いずれかのアプリのUIを起動すると、プッシュメッセージが再度(そのアプリに)渡されますが、古いもの(エラーを生成したもの)は再配信されません。

今、私はどちらのアプリも強制停止しませんでした。そのうちの1つは、たぶん15分前に使用されました。デバイスはスリープ状態にはなりませんでした(画面がオンになっていて、全体的に接続されていました)。

「強制停止」の説明はここでは適用されません。ここではDozeモードは適用されません。

さらに、私はいくつかのテストを行い、「最近のアプリリスト」から(GCMまたはFCM)アプリを意図的に閉じて、プロセスが強制終了していることを確認しています(GCMまたはFCM)プッシュメッセージはうまくいっています。

これは何か他のものでなければならない(「強制停止」や「ドーズモード」ではない)、これが原因でプッシュメッセージングが信頼できなくなってしまい、その目的を破ってしまう。

プッシュメッセージ配信のこの突然の破損を防止または防止するために、これを追跡する方法に関するアイデアはありますか?

GCMサンプルのマニフェスト:

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

FCM検査のマニフェスト:

`` `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

これについての進歩?私は自分の携帯電話で同じことを見ている。 –

+0

この問題の進捗状況はありますか? –

答えて

0

私の結論であります:

これはAndroid Studioが原因です。

今日のプロジェクトで作業を終え、ASを終了すると、デバッグ中のアプリケーションを終了するかどうかを尋ねるメッセージが表示されます。

ここで選択した内容に関係なく、ASは常にアプリケーションを終了して「停止」状態にします(GCMだけでなく、アラームも停止します)。

これはいつも起きていて、自分でアプリを再起動して何かをする習慣を作りました。そのため、「停止」とは言わず、翌日には私を驚かせません。

私はこれについてのバグを提出しましたが、今すぐ見つけることができません。誰もが興味があれば、気軽に。

+0

これは、ADBが私が思うようなデバイスにADBが接続されているというより意味があります。私はエミュレータと同じ問題を抱えてAndroid Studioを抹消し、起動した後に通知が来るようになりました。アプリを殺害した後に通知が届きます) – kassim

関連する問題