gpt4 book ai didi

android - 已收到 GCM 通知但未显示

转载 作者:行者123 更新时间:2023-11-29 18:00:27 25 4
gpt4 key购买 nike

我的 android 应用程序和服务器已配置为接收和发送推送通知。我的应用程序完美地接收到通知,它会显示在 LogCat 中,无论我的应用程序是打开的、在后台运行还是未正常运行。但是,我在显示它时遇到了问题。无论我做什么,我都无法让它出现在通知中心或作为让手机振动或发出声音的提醒进入。

我错过了什么?我在这里使用 GCM 插件:https://github.com/marknutter/GCM-Cordova

我曾尝试使用 NotificationCompat 让它发送通知,但没有成功。

-->来自 GCM 的 json 传递给这个函数...

@Override
protected void onMessage(Context context, Intent intent) {
Log.d(TAG, "onMessage - context: " + context);

// Extract the payload from the message
Bundle extras = intent.getExtras();
if (extras != null) {
try
{
Log.v(ME + ":onMessage extras ", extras.getString("message"));

JSONObject json;
json = new JSONObject().put("event", "message");

// My application on my host server sends back to "EXTRAS" variables message and msgcnt
// Depending on how you build your server app you can specify what variables you want to send

json.put("message", extras.getString("message"));
json.put("msgcnt", extras.getString("msgcnt"));

Log.v(ME + ":onMessage ", json.toString());

GCMPlugin.sendJavascript( json );
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle("TEST")
.setContentText("TEST");
// Send the MESSAGE to the Javascript application
}
catch( JSONException e)
{
Log.e(ME + ":onMessage", "JSON exception");
}
}
}

最佳答案

您已经很接近了,但还差一步。您的代码准备了一个通知,但实际上并没有显示它。将这些行放在 NotificationCompat.Builder 代码之后:

final int notificationId = 1;
NotificationManager nm = (NotificationManager) getApplicationContext()
.getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(notificationId, mBuilder.build());

通知 ID 是一个任意数字,如果您以后需要更新或删除它,您可以使用它来检索通知。

关于android - 已收到 GCM 通知但未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16466790/

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