Ожидаемое поведение: Открыть URL при нажатии на уведомление.
Фактическое поведение: Панель уведомлений закрывается, как будто ничего не произошло. Ответы:
Real Device: START u0 {act=https://www.google.com flg=0x14000000 pkg=com.geoenglish (has extras)} from uid 10193 on display 0
Emulator: Notification pending intent canceled
Я пробовал использовать разные флаги, но ничего не получалось
NotificationCompat.Builder builder = new NotificationCompat.Builder(MyService.this, "01")
.setSmallIcon(R.drawable.ic_stat_name)
.setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL)
.setPriority(NotificationCompat.PRIORITY_MAX)
.setAutoCancel(true);
Intent notificationIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(remoteMessage.getNotification().getClickAction()));
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pending = PendingIntent.getActivity(MyService.this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
if (ToggleNotification._showNotification == true) {
builder.setContentText(remoteMessage.getNotification().getBody());
builder.setContentTitle(remoteMessage.getNotification().getTitle());
builder.setLargeIcon(image);
builder.setContentIntent(pending);
try {
URL url = new URL(remoteMessage.getNotification().getImageUrl().toString());
image = BitmapFactory.decodeStream(url.openConnection().getInputStream());
} catch (IOException e) {
System.out.println(e);
}
notificationManager = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
notificationManager.createNotificationChannel(channel);
}
notificationManager.notify(121, builder.build());
}