Notification within BroadCastReceiver doesnt work

62 views Asked by At

I faced an issue with Notification within BroadcastReceiver(). as I know, My code worked properly before but it doesn't work now. sometimes NotificationTicker appear but no title and content has been appeared. here is my code. my searches couldn't help me to find where is the problem.

here is my CODE:

private void MyNotification(Context context) {

    String NotificqationText = "NotificqationText";
    String NotificationTitle = "NotificationTitle ";
    String NotificationTicker = "NotificationTicker";
    PendingIntent MyPendingIntent = PendingIntent.getActivity(context, 0, new Intent(context, Splash.class), 0);


    NotificationCompat.Builder MyNB = new NotificationCompat.Builder(context);
    MyNB.setSmallIcon(R.drawable.icon);
    MyNB.setContentTitle(NotificationTitle);
    MyNB.setContentText(NotificqationText);
    MyNB.setTicker(NotificationTicker);
    MyNB.setAutoCancel(true);
    MyNB.setContentIntent(MyPendingIntent);

    Bitmap MyPicture = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon);
    MyNB.setLargeIcon(MyPicture);

    NotificationCompat.BigPictureStyle MyPicStyle = new NotificationCompat.BigPictureStyle().bigPicture(MyPicture);
    MyPicStyle.setSummaryText("Etude can makes our life Enlightened");
    MyNB.setStyle(MyPicStyle);


    MyNB.setStyle(new NotificationCompat.BigTextStyle());
    NotificationCompat.BigTextStyle MyText = new NotificationCompat.BigTextStyle();
    MyText.bigText(NotificqationText);
    MyText.setBigContentTitle(NotificationTitle);

    NotificationManager MyNotifyManager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
    MyNotifyManager.notify(1, MyNB.build());

}

I used Toast message to find my broadcastreceiver works or not and find broadcast works properly and only notification has problem

1

There are 1 answers

1
Imene Noomene On

Try this code :

private void MyNotification(Context context) {

    String NotificqationText = "NotificqationText";
    String NotificationTitle = "NotificationTitle ";
    String NotificationTicker = "NotificationTicker";
    Intent intent = new Intent(this, Splash.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |(Intent.FLAG_ACTIVITY_SINGLE_TOP
            | Intent.FLAG_ACTIVITY_CLEAR_TASK));
    PendingIntent MyPendingIntent = PendingIntent.getActivity(this, 0,
            intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT);


    Bitmap MyPicture = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon);

    Notification MyNB = new Notification.Builder(this)
    .setSmallIcon(R.drawable.icon)
    .setLargeIcon(MyPicture)
    .setStyle()
    .setBigContentTitle(NotificationTitle)
    .setContentTitle(NotificationTitle)
    .setContentText(NotificqationText)
    .setTicker(NotificationTicker)
    .setAutoCancel(true)
    .setContentIntent(MyPendingIntent)
    .build();
    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    MyNB.flags |= Notification.FLAG_SHOW_LIGHTS;
    MyNB.flags |= Notification.FLAG_AUTO_CANCEL;
    MyNB.defaults = Notification.DEFAULT_ALL;

    notificationManager.notify((int)System.currentTimeMillis(), MyNB);
    }