2013-01-07 3 views
6

Je fais un projet sous Android. Je peux recevoir des notifications push avec succès. Comment allumer les lumières quand je reçois la notification push?Android GCM allume les lumières

Comment allumer les lumières quand je reçois la notification push?

Et aussi j'ai besoin de vibrer mon mobile lors de la réception de la notification push.

Répondre

0

s'il vous plaît ajoutez ce code dans le jeu Méthode de notification

  notification.flags |= Notification.FLAG_AUTO_CANCEL; 
    notification.defaults |= Notification.DEFAULT_SOUND; 
    notification.defaults |= Notification.DEFAULT_LIGHTS; 
    notification.defaults |= Notification.DEFAULT_VIBRATE; 
9

Pour plus d'informations consultez ce Link.

autorisation Ajouter à votre fichier manifeste

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

EDIT // 1. Procurez-vous une référence au NotificationManager

String ns = Context.NOTIFICATION_SERVICE; 
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); 

// 2. Instantiate la notification

int icon = R.drawable.notification_icon; 
CharSequence tickerText = "Hello"; 
long when = System.currentTimeMillis(); 
Notification notification = new Notification(icon, tickerText, when); 

// 3. Définir e message étendu de la notification et l'intention

Context context = getApplicationContext(); 
CharSequence contentTitle = "My notification"; 
CharSequence contentText = "Hello World!"; 
Intent notificationIntent = new Intent(this, MyClass.class); 
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); 

// 4. Passer la notification au NotificationManager

private static final int HELLO_ID = 1; 
mNotificationManager.notify(HELLO_ID, notification); 

// ----------------- ----- // Ajouter un son // ---------------------- // a. Son par défaut

notification.defaults |= Notification.DEFAULT_SOUND; 

// b. son sur mesure à partir de la carte SD

notification.sound = Uri.parse("file:///sdcard/notification/SOUND.mp3"); 

// // ---------------------- Ajouter Vibration // ------ ---------------- // a. Vibration par défaut

notification.defaults |= Notification.DEFAULT_VIBRATE; 

// b. vibrations sur mesure

long[] vibrate = {0,100,200,300}; 
notification.vibrate = vibrate; 

// // ------------------------ Ajouter Flashing Lights // ------ ------------------ // a. Feux par défaut

notification.defaults |= Notification.DEFAULT_LIGHTS; 

// b. lumières personnalisées

notification.ledARGB = 0xff00ff00; 
notification.ledOnMS = 300; 
notification.ledOffMS = 1000; 
notification.flags |= Notification.FLAG_SHOW_LIGHTS; 
0

utilisent ce

notification.flags |= Notification.FLAG_SHOW_LIGHTS; 

Envoyer cette link

2
NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); 


    NotificationCompat.Builder mBuilder  = new NotificationCompat.Builder(context) 
                .setSmallIcon(icon) 
                .setContentTitle(title) 
                .setContentText(message) 
                .setAutoCancel(true) 
                .setDefaults(Notification.DEFAULT_LIGHTS); 


    Intent    notificationIntent = new Intent(context, MyActivity.class); 



    /* Set intent so it does not start a new activity */ 
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
    PendingIntent intent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); 


    AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE); 

    /* Even if the mode is set to "Sound & Vibration" in the phone, 
    * the status code that getRingerMode() returns is RINGER_MODE_NORMAL. 
    */ 
    switch (am.getRingerMode()) 
    { 
     case AudioManager.RINGER_MODE_VIBRATE: 
      mBuilder.setDefaults(Notification.DEFAULT_VIBRATE); 
      break; 
     case AudioManager.RINGER_MODE_NORMAL: 
      mBuilder.setDefaults(Notification.DEFAULT_SOUND); 
      break; 
     default: 
      mBuilder.setDefaults(Notification.DEFAULT_SOUND); 
    } 


    mBuilder.setContentIntent(intent);   
    notificationManager.notify(id, mBuilder.build());