Chcę wyświetlać stale małą ikonę w numerze status bar
, bez pokazywania samego powiadomienia na tacy w systemie notification
.Pokaż tylko małą ikonę na pasku stanu bez powiadomienia o wyświetleniu
Próbowałem użyć niestandardowego layout
i ustawić widoczność elementu głównego na View.GONE
lub View.INVISIBLE
, ale dla obu system ignoruje to.
Próbowałem również ustawić wysokość elementu głównego, ale system również to ignoruje.
Oto mój kod:
R.layout.custom_notification
:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/custom_notification"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/notif_background"
android:orientation="horizontal"
android:baselineAligned="false"/>
I kod na wyświetlaczu Notification
:
NotificationManager nm = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(ctx);
mBuilder
.setSmallIcon(drawableId)
.setAutoCancel(false)
.setOngoing(true)
.setPriority(Notification.PRIORITY_MAX);
Intent resultIntent = new Intent(ctx, SettingsActivity.class);
PendingIntent resultPendingIntent = PendingIntent.getActivity(ctx, 0, resultIntent, 0);
mBuilder.setContentIntent(resultPendingIntent);
int layout = R.layout.custom_notification ;
RemoteViews contentView = new RemoteViews(ctx.getPackageName(), layout);
contentView.setViewVisibility(R.id.custom_notification, View.INVISIBLE);
mBuilder.setContent(contentView);
nm.notify(NOTIFICATION_ID, mBuilder.build());
Jestem świadomy, że dla osiągnięcia mój cel będę nie wymaga udokumentowanego rozwiązania. Jestem również świadomy, że wytyczne UX zdecydowanie zalecają, aby tego nie robić. Nie ma sensu pisać mi tego jako odpowiedzi.
Chcesz ustawić ta mała ikona, gdy aplikacja uruchamia się i utrzymuje ją stale? –
Afaik czego szukasz, nie jest możliwe bez stałego powiadomienia w obszarze powiadomień. Jest to możliwe tylko w przypadku niestandardowego systemu Android, więc nie będzie to dla ciebie przydatne – Tazz
@mwisnicki tak, dokładnie. Działa już świetnie. Po prostu szukam sposobu na pozbycie się powiadomienia na tacy i wyświetlenie tylko małej ikony. – yshahak