My notification contains several buttons :
The problem is, the first button does not close the status bar...
the PendingIntent sent by the first button :
Intent activityIntent = new Intent(smp, MusicShaker.class)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
activityIntent.setAction(MyIntentAction.DO_LAUNCH_ACTIVITY_FROM_NOTIF);
remoteViews.setOnClickPendingIntent(R.id.notif_album_IV, PendingIntent
.getActivity(ctxt, 0, activityIntent,
PendingIntent.FLAG_CANCEL_CURRENT));
the activity is correctly launched, but the status bar stays there and does not close itself.
Am I missing/misunderstanding a flag ? can I close the status bar progamaticaly from MyActivity.onResume() ?
edit: by the way, the notification is pushed by a service
thanks =)
If you have a stock Android phone, you can remove the notification bar using System UI Tuner. For all other Android models, you can do this using a third-party app. In order for this to work, you must grant the app write secure settings permissions.
To customize it, first pull down the slider bar from the top of the screen. Next, tap on the three vertical dots in the top right corner. Now click on Status bar. You're in.
This is caused by a Google™ bug, and may happen if your device fulfils the following: Software version Android™ 7.0 Nougat. Google Now™ is enabled.
You, just need to specify setAutoCancel(true) while creating builder. And that is all :)
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("title goes here")
.setContentText("content text goes here").setAutoCancel(true);
Yeah, you'll have to cancel the notification programmatically when your app starts.
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancel(NOTIFICATION_ID);
ok, I found a solution...
I could not reproduce the same behavior produced by standard notification, so I :
- made my imageButton "notif_album_IV" non clickable, and change it to an ImageView
- used this code :
builder.setContentIntent(PendingIntent.getActivity(smp, 0,
activityIntent,PendingIntent.FLAG_CANCEL_CURRENT))
instead of setting the setOnClickPendingIntent "manually" on the image, the intent broadcast is handled by the content background
This worked for me:
sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With