Robię projekt na Androida. Mogę pomyślnie otrzymywać powiadomienia push.Android GCM włącz światła
Jak włączyć światła po otrzymaniu powiadomienia push?
A także potrzebuję wibrować mój telefon komórkowy po otrzymaniu powiadomienia push.
Robię projekt na Androida. Mogę pomyślnie otrzymywać powiadomienia push.Android GCM włącz światła
Jak włączyć światła po otrzymaniu powiadomienia push?
A także potrzebuję wibrować mój telefon komórkowy po otrzymaniu powiadomienia push.
prosimy Dodaj ten kod w metodzie ustawionej Notification
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_LIGHTS;
notification.defaults |= Notification.DEFAULT_VIBRATE;
Więcej informacji można znaleźć ten Link.
Dodaj uprawnienie do pliku manifestu
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
EDIT // 1. Pobierz odwołanie do NotificationManager
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
// 2. instancję Notification
int icon = R.drawable.notification_icon;
CharSequence tickerText = "Hello";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
// 3. Definicja e notyfikacji powiększyła wiadomość i 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. Przełóż Powiadomienie NotificationManager
private static final int HELLO_ID = 1;
mNotificationManager.notify(HELLO_ID, notification);
// ----------------- ----- // Dodaj dźwięk // ---------------------- // a. Domyślny dźwięk:
notification.defaults |= Notification.DEFAULT_SOUND;
// b. Niestandardowy dźwięk z karty SD
notification.sound = Uri.parse("file:///sdcard/notification/SOUND.mp3");
// ---------------------- // Dodaj Vibration // ------ ---------------- // a. Domyślne drgania:
notification.defaults |= Notification.DEFAULT_VIBRATE;
// b. Zwyczaj drgania
long[] vibrate = {0,100,200,300};
notification.vibrate = vibrate;
// ------------------------ // Dodaj Migające // ------ ------------------ // a. Domyślne światła:
notification.defaults |= Notification.DEFAULT_LIGHTS;
// b. Światła niestandardowe
notification.ledARGB = 0xff00ff00;
notification.ledOnMS = 300;
notification.ledOffMS = 1000;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
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());