gpt4 book ai didi

java - Android GCM Java Server - 没有消息数据的推送通知

转载 作者:太空宇宙 更新时间:2023-11-03 11:17:16 25 4
gpt4 key购买 nike

我正在尝试开发 java 服务器以在我的应用程序中发送推送通知。

我成功发送了一个通知,但是我有两个问题......

  1. 消息文本不出现在状态栏中(只显示应用程序名称)

  2. 当我点击状态栏中的通知时没有任何反应(未打开应用程序)

这是我的java服务器代码:

    //ArrayList<String> userGcmList = new ArrayList<String>();   
ArrayList<String> userRegIdGcmList = new ArrayList<String>();

//my phone
userRegIdGcmList.add("***********");

int numverOfDevicesRegisterd = userRegIdGcmList.size();

try {
//AI KEY
Sender sender = new Sender("*****************");

// use this line to send message with payload data
Message message = new Message.Builder()
.collapseKey("1")
.timeToLive(3)
.delayWhileIdle(true)
.addData("message", "Text in the status bar does not appear")
.build();

// Use this for multicast messages
MulticastResult result = sender.send(message, userRegIdGcmList, numverOfDevicesRegisterd);
sender.send(message, userRegIdGcmList, numverOfDevicesRegisterd);
System.out.println(result.toString());

if (result.getResults() != null) {
int canonicalRegId = result.getCanonicalIds();
if (canonicalRegId != 0) {
}
} else {
int error = result.getFailure();
System.out.println(error);
}

} catch (Exception e) {
e.printStackTrace();
}

我在我的路由器上打开了端口 5228 但它没有改变...

以及我应用中的源代码:

/**
* Issues a notification to inform the user that server has sent a message.
*/
private static void generateNotification(Context context, String message) {
    long when = System.currentTimeMillis();
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.ic_launcher, message, when);

notification.defaults |= Notification.DEFAULT_SOUND;
notification.flags |= Notification.FLAG_AUTO_CANCEL;
String title = context.getString(R.string.app_name);

Intent notificationIntent = new Intent(context, LauncherActivity.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;
notificationManager.notify(0, notification);
}

最佳答案

关于java - Android GCM Java Server - 没有消息数据的推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14560782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com