Android GCM turn on Lights

[亡魂溺海] 提交于 2019-12-18 03:01:53

问题


I'm doing a project in Android. I can successfully receive push notifications.

How to turn on the lights when I receive the push notification?

And also I need to vibrate my mobile when receiving the push notification.


回答1:


For More Information refer this Link.

Add permission to your manifest file

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

EDIT // 1. Get a reference to the NotificationManager

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

// 2. Instantiate the Notification

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

// 3. Define the Notification's expanded message and Intent

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. Pass the Notification to the NotificationManager

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

// ---------------------- // Add Sound // ---------------------- // a. Default sound

notification.defaults |= Notification.DEFAULT_SOUND;

// b. Custom sound from SD card

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

// ---------------------- // Add Vibration // ---------------------- // a. Default vibration

notification.defaults |= Notification.DEFAULT_VIBRATE;

// b. Custom vibration

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

// ------------------------ // Add Flashing Lights // ------------------------ // a. Default lights

notification.defaults |= Notification.DEFAULT_LIGHTS;

// b. Custom lights

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



回答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());



回答3:


please Add this code in set Notification method

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



回答4:


use this

notification.flags |= Notification.FLAG_SHOW_LIGHTS;

refer this link



来源:https://stackoverflow.com/questions/14195067/android-gcm-turn-on-lights

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!