Android GCMの実装に奇妙な問題があります。すべてのGCMプッシュを手動で処理する適切な方法は何ですか?
これは私がGCMの通知を処理コードです:
public class GCMMessageHandler extends GcmListenerService {
@Override
public void onMessageReceived(String from, Bundle data) {
super.onMessageReceived(from, data);
Log.i(this.getClass().getSimpleName(), "GCM push received!");
ACNotification notification = new ACNotification(getApplicationContext(), data);
notification.handleNotification();
}
}
は基本的に、これが何をするか、それは、データを読み取り、Notification.Builder
を使用して通知を表示するACNotification
と呼ばれる私のクラスに通知データを渡します。
これは、アプリがフォアグラウンドにあるときに完全に機能します。しかし、いったんユーザーがアプリケーションを閉じると、このコードは決して実行されないようですが、アプリは何らかの形で通知を処理します。
それでも通知は表示されますが、Androidはそれを単独で行います。これは適切な通知アイコンを設定しません(Androidのic_launcherアイコンを使用するだけです)。
私が間違っていることを知っていますか?どのようにして各自の通知を自分で処理することができるのでしょうか?
ビット漠然と:
はそれを見てください。あなたが持っている振る舞いに基づいて、ペイロードに 'notification'と' data'の両方を使用します。そうであれば、これは意図された動作です。アプリをタップした後、インテントからデータを取得する必要があります。 –