在我的应用中,我一直在使用GCM
进行推送通知。一切都工作正常Android Lollipop
。
这让我觉得,没有配置或设置相关的错误。问题从Android 6
开始,不知道如何在运行6及更高版本的设备上收到推送通知。
我是否需要指定一些添加设置才能让它工作?或者有解决这个问题的方法吗?
我尝试了什么?
Settings > Battery > Battery Optimization
中手动配置白名单。 REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
reboot
设备,清除cache
和所有。SO
几乎所有相关问题/答案都已消失,但显然没有效果。GCM
编译dependencies
更新为最新版本。OS
版本的各种设备。 我知道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());