Vibrar en la notificación push

En primer lugar he comprobado todos esos enlaces:

  • Cómo llamar a Vibrador dentro de un servicio en android
  • Notificaciones de Android y vibra desde el servicio
  • Android GCM enciende las luces

Pero no puedo lograr que mi teléfono vibre cuando reciba una notificación push. Aquí va mi código:

PushReceiver

public class PushReceiver extends FirebaseMessagingService { public PushReceiver() { } @Override public void onMessageReceived(RemoteMessage remoteMessage) { if(remoteMessage.getData() != null){ Map<String, String> data = remoteMessage.getData(); sendNotification(data.get("message")); } else{ if(remoteMessage.getNotification() != null) { sendNotification(remoteMessage.getNotification().getBody()); } } } private void sendNotification(String messageBody) { Intent intent = new Intent(this, BaseActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, PendingIntent.FLAG_ONE_SHOT); Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_done_all_24dp) .setContentTitle(getString(R.string.str_notification_order_ready)) .setContentText(messageBody) .setSound(defaultSoundUri) .setContentIntent(pendingIntent); notificationBuilder.setVibrate(new long[] { 1000, 1000, 1000, 1000, 1000 }); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(ConstantUtils.NOTIFICATION_ID_ORDER_READY, notificationBuilder.build()); } } 

Permiso

 <uses-permission android:name="android.permission.VIBRATE"/> 

Pruebas

Dispositivo: Nexus 5

Versión de Android: 6.0.1

¿Hay algún tipo de hechicería desconocida que debo hacer para que funcione?

2 Solutions collect form web for “Vibrar en la notificación push”

También puede utilizar setDefaults (int defaults) en su instancia NotificationCompat.Builder que le proporciona el sonido predeterminado del sistema, la vibración y las luces para su notificación.

El valor debe ser uno o más de los siguientes campos combinados con bitwise o (|): DEFAULT_SOUND , DEFAULT_VIBRATE , DEFAULT_LIGHTS .

Para todos los valores predeterminados, utilice DEFAULT_ALL .

Ex. Según su código usted está fijando el sonido del defecto así que, si usted quiere fijar el sonido y vibrar por defecto:

 notificationBuilder.setDefaults(DEFAULT_SOUND | DEFAULT_VIBRATE); 

Si desea que todos los valores predeterminados, puede lograrlo mediante la configuración notificationBuilder.setDefaults(-1) , se considera como valor DEFAULT_ALL.

Consulte android doc para setDefaults .

EDITAR:

La vibración tiene un retardo de 1000 ms. Si ajusta el primero en 0, se apagará instantáneamente. Es un patrón de {delay, vibration, sleep, vibrate, sleep}

  // Each element then alternates between delay, vibrate, sleep, vibrate, sleep notificationBuilder.setVibrate(new long[] { 1000, 1000, 1000, 1000, 1000}); 

Esto vibra el teléfono:

 Vibrator v = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE); // Vibrate for 500 milliseconds v.vibrate(500); 

Cuando llame a la notificación también llame a esto

  • Cómo construir un servidor de notificación push de Android en PHP
  • ¿Cómo podemos obtener un dispositivo de token para Android para notificación push?
  • Gcm canonical id debe ser actualizado o no
  • Animación en la barra de notificaciones Vista personalizada
  • El icono de notificación push de Android 5.1 está en blanco
  • Envío de mensajes (notificación) a un grupo - Android
  • Android - Stop (Interceptar) C2DM Notificación de empuje si la aplicación está en ejecución?
  • Poll vs Push - ¿Alguna razón para evitar Push Notifications?
  • Android push notificación a muchos dispositivos a la vez usando google c2dm
  • La notificación del constructor está obsoleta
  • ¿Es posible usar GCM para enviar notificaciones push entre diferentes aplicaciones?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.