【发布时间】:2013-03-12 12:37:59
【问题描述】:
我正在由 GCM 触发的我的 android 应用程序中进行推送通知。如果应用程序正在警告框中运行,我想显示通知,如果应用程序未运行意味着不在前台只显示状态栏通知,您如何确定应用程序是否正在运行并且在前台?这可以显示这样的通知。现在正在使用此代码显示状态栏推送通知
NotificationManager notificationManager = (NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(icon, message, when);
String title = context.getString(R.string.app_name);
Intent notificationIntent = new Intent(context, BottomActivity.class);
// 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, 0);
notification.setLatestEventInfo(context, title, message, intent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
// Play default notification sound
notification.defaults |= Notification.DEFAULT_SOUND;
//notification.sound = Uri.parse("android.resource://" + context.getPackageName() + "your_sound_file_name.mp3");
// Vibrate if vibrate is enabled
notification.defaults |= Notification.DEFAULT_VIBRATE;
notificationManager.notify(0, notification);
【问题讨论】:
-
仅供参考,如果这是一个新项目,您应该使用 GCM 而不是 C2DM,因为它已被弃用,Google 说“C2DM 不会接受新用户,并且不会授予新配额”
-
好的,谢谢,我将使用 GCM 并编辑我的问题
-
-
看看这个。简单的解决方案。 link
标签: android push-notification google-cloud-messaging