Articles of 推送通知

GCM规范ID

当为1个设备GCM具有多个regids时,返回规范id错误: {“multicast_id”:xxxx,”success”:2,”failure”:0,”canonical_ids”:1,”results”:[{“message_id”:”xxxxx”},{“registration_id”:”newest reg ID here”,”message_id”:”xxxxxx”}]} 所以它显示了GCM应该使用的最新regid,但为什么不显示你应该删除的regid(旧的)? 我怎么知道旧的regid是什么以及我应该从我的数据库中删除哪一个?

如何在android中创建自定义通知布局?

如何在android中使用通知样式或者需要进行自定义布局时在frist时间显示通知中的完整内容?

Android GCM和多个令牌

我在GCM中使用GoogleCloudMessaging.getInstance(context)注册; 并将收到的令牌保存在设备上。 然后将其发送到服务器并与用户帐户关联。 如果我卸载我的应用程序而没有注销并再次安装并与其他用户一起登录,我会收到新令牌并将其发送到服务器。 当推送发送给第一个用户时,我在第二个用户登录时看到它们。 为什么GCM会向我发送不同的令牌,我该如何处理?

Android 5.1推送通知图标为空白

当使用Parse进行推送通知时,我们的应用程序始终显示应用程序的启动器图标。 在最新的Android 5.1版本中,图标显示为空白(白色方块)。 我尝试在元数据中设置图标: 根据这里的问题 但似乎没有任何效果。 有任何想法吗?

Android GCM消息已成功发送但未收到

我正在尝试使用GCM服务向我的设备发送推送通知。 我已经关注了服务器端函数的Android Hive教程 (现在已经不像其他许多问题和答案一样被弃用),这些函数看起来像预期的那样工作,因为我可以得到这种输出: {“multicast_id”:9131068334342174816,”success”:1,”failure”:0,”canonical_ids”:0,”results”:[{“message_id”:”0:1377441098827443%1d84a26ff9fd7ecd”}]} 但根据一些答案 ,接收此响应只意味着GCM服务器已接受该消息进行发送,但并未发送该消息。 所以,正如预期的那样,我的BroadcastReceiver没有收到任何东西。 这是我的BroadcastReceiver代码: public class GcmBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.i(“gcm_debug”, “PushReceiver onReceive called”); Bundle extras = intent.getExtras(); GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context); String msgType = gcm.getMessageType(intent); if(!extras.isEmpty()){ if(GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(msgType)){ Log.i(“gcm_debug”, “Message send error”); }else if(GoogleCloudMessaging.MESSAGE_TYPE_DELETED.equals(msgType)){ Log.i(“gcm_debug”, “Message deleted”); }else if(GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(msgType)){ Log.i(“gcm_debug”, “Message received […]

如何确定Android App是否从Notification消息中打开?

通常,当我在通知栏上有通知消息并单击它时。 它打开该消息的已注册应用程序。 在Startup的活动中,如何确定App是否从中打开? 更好的是如何在OnCreate()方法上检索通知的id? 更新 :来自@Ovidiu – 这是我的putExtra推送代码 Notification notification = new Notification(icon, tickerText, System.currentTimeMillis()); notification.contentView = contentView; Intent notificationIntent = new Intent(this, Startup.class); notificationIntent.putExtra(“JOBID”, jobId); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_ONE_SHOT); notification.flags = Notification.FLAG_AUTO_CANCEL; notification.contentIntent = contentIntent; mNotificationManager.notify(jobId, notification); 并在主要活动“Startup.java”代码是 Intent intent = this.getIntent(); if (intent != null && intent.getExtras() != null && […]

使用Android中的注册ID从GCM取消注册设备

我有一个GCM注册用户列表及其在数据库表中的相应注册ID,我实际上想要在从表中删除用户时取消注册。 我在Stackoverflow中find了很多示例,但是大多数示例都基于旧的GCMRegistrar API,现在已弃用。 我正在使用GoogleCloudMessaging API并通过以下方法注册用户: private void registerUser(){ GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(getBaseContext()); String regId = “”; try { regId = gcm.register(getString(R.string.project_number)); Log.i(“registrationId”, regId); } catch (IOException e) { Log.i(“Registration Error”, e.getMessage()); } } 我有一个管理员应用程序,它充当第三方应用程序服务器,因为它将通知推送给所有用户。 我想通过以下方法从此管理员应用中取消注册特定用户: private void unRegister(String regId) { GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(getBaseContext()); try { gcm.unregister(); } catch (IOException e) { System.out.println(“Error Message: ” […]

谷歌云消息推送通知

我可以在Google Chrome上使用POSTMAN客户端将有效内容消息发送到GCM服务器以进行测试。 其次,如果是,则要发送的header和url参数是什么。

当应用程序在前台运行时,在警告框中显示推送通知

我在我的Android应用程序中执行由GCM触发的推送通知。 我想显示通知,如果应用程序在警告框中运行,如果应用程序未运行意味着不在前台,只显示状态栏通知,如何确定应用程序是否正在运行并且在前台?是这可以显示这样的通知。现在使用此代码显示状态栏推送通知 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 […]

具有图像无法使用推送通知的可跨越字符串

我试图在推送通知上使用带有图像的spannable字符串。 它不起作用。 其实我想在像wattsapp这样的推送通知上显示表情符号。 如果我使用简单的spannable字符串它是有效的。 带有图像的相同spannable字符串与textview一起工作正常。 为此,我也尝试了自定义推送通知,但没有取得成功。 我的代码如下: – MainActivity.class package com.example.tt.notificationtest; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.v4.app.NotificationCompat; import android.text.Spannable; import android.text.SpannableString; import android.text.SpannableStringBuilder; import android.text.style.BackgroundColorSpan; import android.text.style.ImageSpan; import android.text.style.RelativeSizeSpan; import android.view.View; import android.widget.Button; import android.widget.RemoteViews; import android.widget.TextView; public class MainActivity extends […]