samsung - Cómo mostrar un mensaje de la barra superior en Android
eliminar notificacion de buzon de voz 2017 (4)
Quiero mostrar este tipo de mensaje en la parte superior de Android después de terminar algunos trabajos de fondo. ¿Cómo muestro este tipo de notificación? Gracias..
Crea una notificación y usa setTicker (mira el documento allí ):
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_event)
.setContentTitle(eventTitle)
.setContentText(eventLocation)
.setContentIntent(viewPendingIntent)
.setTicker("Your message");
Esta es una alerta de notificación, puede iniciarse desde servicios, actividades, fragmentos, receptores de emisoras, etc. Consulte este enlace: http://developer.android.com/guide/topics/ui/notifiers/notifications.html
Este ejemplo fue copiado de google dev:
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle("My notification")
.setContentText("Hello World!");
Intent resultIntent = new Intent(this, ResultActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(ResultActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(mId, mBuilder.build());
¡Buena suerte!
Puede usar SYSTEM_ALERT_WINDOW que mostrará el mensaje siempre en la parte superior, ya sea que su aplicación sea primer plano o fondo.
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, PixelFormat.TRANSLUCENT);
params.gravity = Gravity.CENTER|Gravity.TOP;
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
wm.addView(view, params);
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
Parece el texto de una Notification
, suponiendo que esta captura de pantalla esté en la parte superior de la pantalla. Puede agregar eso a la Notification
través de setTicker()
en su NotificationCompat.Builder
. Sin embargo, tenga en cuenta que ese texto ya no se muestra a partir del API Nivel 21 (Android 5.0). También tenga en cuenta que el texto del ticker desaparece automáticamente después de un par de segundos.