pie - ¿Cómo puedo habilitar la vibración y las luces utilizando la API de notificaciones de Android?
api de android pie (2)
Además de la respuesta de Pentium10:
¡Pon tu dispositivo a dormir y las luces se encenderán! ;)
He creado una aplicación que crea notificaciones, utilizando el siguiente código:
// notification
Notification notification = new Notification(R.drawable.notification_icon, title, System.currentTimeMillis());
notification.flags |= Notification.FLAG_AUTO_CANCEL;
// parameters
String ringtone = prefs.getString(context.getString(R.string.key_notifications_ringtone), "");
if (ringtone.length() > 0) {
notification.sound = Uri.parse(ringtone);
notification.audioStreamType = AudioManager.STREAM_NOTIFICATION;
}
boolean useVibrator = prefs.getBoolean(context.getString(R.string.key_notifications_use_vibrator), false);
if (useVibrator) {
notification.defaults |= Notification.DEFAULT_VIBRATE;
}
boolean useLed = prefs.getBoolean(context.getString(R.string.key_notifications_use_led), false);
if (useLed) {
notification.defaults |= Notification.DEFAULT_LIGHTS;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
}
// alert
RemoteViews contentView = new RemoteViews(context.getPackageName(), R.layout.notification);
contentView.setImageViewResource(R.id.notification_icon, R.drawable.icon);
contentView.setTextViewText(R.id.notification_title, title);
contentView.setTextViewText(R.id.notification_text, text);
notification.contentView = contentView;
Intent notificationIntent = new Intent(context, MyActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
notification.contentIntent = contentIntent;
notificationManager.notify(1, notification);
La notificación funciona y se usa el tono de llamada correcto.
Sin embargo, aunque las preferencias se activan correctamente y los indicadores de notificación se configuran correctamente (lo verifiqué mediante la depuración), la notificación nunca vibra y nunca hace que las luces se activen.
Habría culpado a la configuración de mi teléfono, pero todas las demás aplicaciones que usan notificaciones, como mensajería, gmail y otras, usan correctamente todas estas funciones.
¿Alguien puede saber lo que hice mal? (Mi teléfono es un HTC Hero con Android 2.1)
Agregue permiso a su archivo de manifiesto
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
EDITAR
Para las luces, intente agregarlas explícitamente, la luz predeterminada podría estar configurada para ser nolight
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
notification.ledARGB = 0xff00ff00;
notification.ledOnMS = 300;
notification.ledOffMS = 1000;