Google Cloud Messaging(GCM)サービスをプッシュ通知に使用するための最初のAndroidアプリを開発中です。サーバーアプリケーションからメッセージを正常に送信し、クライアントアプリケーションのGCMIntentServiceクラス内のonMessageイベントにメッセージの内容を記録することができます。しかし、私は、メッセージが受信されたことをデバイス上で視覚的に表示していません。 iPhoneの場合と同様に、プルダウン通知リストにメッセージが表示されることを期待していました。これは手動でコード化する必要がありますか?また、どのアクティビティが現在アクティブであるかに関わらず、またそのアプリがバックグラウンドでアイドル状態であるかどうかにかかわらず、メッセージを表示する一般的な方法がありますか?どんな助けもありがたい。Android - GCMプッシュ通知が通知リストに表示されない
6
A
答えて
7
このコードは、画面上部のアンドロイドシステムバーに通知を生成します。このコードは、トップバーの通知をクリックした後、ユーザーを "Home.class"に誘導する新しいインテントを作成します。現在のアクティビティに基づいて特定の処理を実行したい場合は、GCMIntentServiceから他のアクティビティへのブロードキャスト要求を送信できます。
Intent notificationIntent=new Intent(context, Home.class);
generateNotification(context, message, notificationIntent);
private static void generateNotification(Context context, String message, Intent notificationIntent) {
int icon = R.drawable.icon;
long when = System.currentTimeMillis();
NotificationManager notificationManager = (NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(icon, message, when);
String title = context.getString(R.string.app_name);
// set intent so it does not start a new activity
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent =PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
notification.setLatestEventInfo(context, title, message, intent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, notification);
}
この例が動作するように存在することが必要になりますが、それはあなたのアイデアを与える必要がありますR.drawableとR.String内のリソースを使用することに注意してください。ステータス通知の詳細については、http://developer.android.com/guide/topics/ui/notifiers/index.htmlとこれを参照してください。あなたがGcmListenerServiceを使用している場合http://developer.android.com/reference/android/content/BroadcastReceiver.html
1
あなたは素晴らしい、多くのおかげですあなたのonMessageReceived sendNotificationを()
@Override
public void onMessageReceived(String from, Bundle data) {
String message = data.getString("message");
sendNotification(message);
}
private void sendNotification(String message) {
Intent intent = new Intent(this, YOURCLASS.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_park_notification)
.setContentTitle("Ppillo Message")
.setContentText(message)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
}
関連する問題
- 1. アプリがAndroidにバックグラウンドである場合、通知アイコンが表示されない(Gcmプッシュ通知)?
- 2. GCMプッシュ通知DELAY
- 3. GCMプッシュ通知NodeJS
- 4. GCMプッシュ通知アイコン
- 5. GCMプッシュ通知が復活しない
- 6. Android GCMプッシュ通知が受信されない
- 7. プッシュ通知にカスタマイズされた通知が表示されない
- 8. GCMプッシュ通知に代わるAndroid
- 9. アンドロイド3.1のGCMプッシュ通知
- 10. Xamarin GCMのプッシュ通知
- 11. Androidのプッシュ通知:Google GCM vs. Amazon SNS?
- 12. gcmプッシュ通知、プログレッシブwebapp
- 13. iOSプッシュ通知とGCM
- 14. イオンプッシュ通知が通知バーに通知を表示しない
- 15. Android gcm通知オープンフラグメント
- 16. Urban Airshipプッシュ通知がアムドロイドのForegroundに表示されない
- 17. AndroidアプリでGCMプッシュ通知が機能しない
- 18. Android GCMプッシュ通知が機能しない
- 19. Android通知プッシュ
- 20. エラー:登録されていない - GCMプッシュ通知
- 21. プッシュ通知がiOS 10に表示されない
- 22. iPadのプッシュ通知が設定に表示されない
- 23. Facebookのアプリ内通知でプッシュが表示されない
- 24. アンドロイドGCMプッシュ通知がクラッシュする
- 25. GCMとBaiduプッシュ通知の違い
- 26. Google/Appleプッシュ通知サービス(APNS/GCM)
- 27. node.jsアプリでGCMプッシュ通知を受信
- 28. プッシュ通知が表示されない場合がある
- 29. 通知が表示されない
- 30. プッシュ通知のリスト
に追加し、このコードを使用することができます。 –
こんにちは、私はこのプラグインhttps://github.com/marknutter/GCM-Cordovaを使用し、すべての指示に従っています。しかし、私はアプリ内でのみメッセージを受け取ることができますが、アンドロイド通知エリアに通知を表示するようにアプリを取得できません。お知らせ下さい。私はこのプラグインを使用しています。私はphonegapを使用しています。@Zachary Moshansky –
申し訳ありませんが、私はPhonegapを一度も使用していません。通知の仕方についてコメントできません。 –