2

我想使用phonegap在android中实现推送通知,我使用下面的链接来实现GCM

https://github.com/marknutter/GCM-Cordova

我能够实现推送通知,并且在提交 appid regid 和发件人 ID 后,我能够在我的手机屏幕上获得一个小示例文本,但我想在状态栏中显示通知。任何人都可以帮助我如何使用上面的示例在状态栏中显示推送通知。

4

1 回答 1

2

您可以使用Cordova StatusBarNotification 插件 ,或者如果您想要更快的解决方案,您可以简单地将以下本机 Java 代码添加到您的 GCMIntentService.java onMessage() 函数中:

String message = extras.getString("message");
String title = extras.getString("title");
Notification notif = new Notification(android.R.drawable.btn_star_big_on, message, System.currentTimeMillis() );
notif.flags = Notification.FLAG_AUTO_CANCEL;
notif.defaults |= Notification.DEFAULT_SOUND;
notif.defaults |= Notification.DEFAULT_VIBRATE;

Intent notificationIntent = new Intent(context, TestSampleApp.class);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);

notif.setLatestEventInfo(context, title, message, contentIntent);
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(ns);
mNotificationManager.notify(1, notif);

并且不要忘记添加以下导入,

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;

请务必将YourActivityClassName.class替换为扩展DroidGap的存根类的名称。例如,在示例项目中,它被称为MainActivity

于 2013-04-17T11:14:59.360 回答