Я работаю в приложении чата, используя push-уведомления с OneSignal.
Если пользователь находится в приложении, но не участвует в диалоге, при получении уведомления отображается диалог, а не уведомление.
Я хочу показать уведомление вместо диалога.Это код:
protected boolean onNotificationProcessing(OSNotificationReceivedResult notification) {
almacen=((Almacen)getApplication());
JSONObject noti=notification.payload.additionalData;
try {
idChat=noti.getInt("idchat");
} catch (JSONException e) {
e.printStackTrace();
}
showNoti=!(almacen.getIdChat()==idChat);
if(showNoti){
OverrideSettings overrideSettings = new OverrideSettings();
overrideSettings.extender = new NotificationCompat.Extender() {
@Override
public NotificationCompat.Builder extend(NotificationCompat.Builder builder) {
Bitmap icon = BitmapFactory.decodeResource(Almacen.getContext().getResources(),
R.drawable.chat);
builder.setLargeIcon(icon);
return builder.setColor(new BigInteger("FF0000FF", 16).intValue());
}
};
OSNotificationDisplayedResult displayedResult = displayNotification(overrideSettings);
Log.d("OneSignalExample", "Notification displayed with id: " + displayedResult.androidNotificationId);
}else{
if(almacen.getActivity()!=null){
almacen.getActivity().reload();
}
}
return true;
}
Используя это, приложение ведет себя так, как сказано: отображается диалог, а не уведомление.
Как можно избежать этого и показывать уведомление вместоДиалог?
Спасибо.