面对GCM推送通知的问题

时间:2017-10-05 13:38:17

标签: android push-notification google-cloud-messaging android-6.0-marshmallow

在我的应用中,我一直在使用GCM进行推送通知。一切都工作正常Android Lollipop。 这让我觉得,没有配置或设置相关的错误。问题从Android 6开始,不知道如何在运行6及更高版本的设备上收到推送通知。

我是否需要指定一些添加设置才能让它工作?或者有解决这个问题的方法吗?

我尝试了什么?

  1. 我已在Settings > Battery > Battery Optimization中手动配置白名单。
  2. 还尝试添加REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
  3. 基本:reboot设备,清除cache和所有。
  4. 通过SO几乎所有相关问题/答案都已消失,但显然没有效果。
  5. 将我的GCM编译dependencies更新为最新版本。
  6. 尝试使用不同OS版本的各种设备。
  7. 我知道GCM现已过时FCM,但由于某些项目依赖关系,我被迫使用GCM < / p>

    任何形式的帮助都会非常感激。:)

    更新 这就是我生成通知的方式:

        int icon = R.drawable.app_icon;
        long when = System.currentTimeMillis();
    
        Intent intent = new Intent(context, displayClass);
        intent.putExtra("from", "Notification");
        intent.putExtra("xx", xx);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
    
        Bitmap image = BitmapFactory.decodeResource(context.getResources(), icon);
        NotificationCompat.Builder builder = new NotificationCompat.Builder(context).setContentIntent(pendingIntent).setContentTitle(context.getString(R.string.app_name)).setContentText("some text")
                .setDefaults(Notification.DEFAULT_ALL).setAutoCancel(true).setLargeIcon(image).setSmallIcon(icon).setTicker(message).setWhen(when).setColor(Color.WHITE);
        NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(myNotificationId, builder.build());
    

0 个答案:

没有答案