1 komentarz

Powiadomienia w systemie Android – dźwięk, wibracja, dioda

Sierpień 1, 2011 Powiadomienia Snippety

Kilka różnych typów powiadomień, rozwijających artykuł związany z tym tematem.

Aby skorzystać z poniższych przykładów powinniśmy mieć stworzony obiekt klasy Notification.

Powiadomienie bieżące

Powiadomienie, które wyświetlane będzie w zakładce Bieżące, po wysunięciu paska stanu.

notification.flags |= Notification.FLAG_ONGOING_EVENT;

Powiadomienie dźwiękowe

Powiadomienie z dźwiękiem. Zakomentowane linijki to inne opcje ustawienia powiadomienia (na raz może działać tylko jedna z opcji).

notification.defaults = Notification.DEFAULT_SOUND;
//notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "1");
//notification.sound = Uri.parse("file:///sdcard/.ringtonetrimmer/ringtones/ring.mp3");

Powiadomienie z wibracją

Powiadomienie z wibracją możemy ustawić na dwa sposoby:

Wibracja domyślna

notification.defaults = Notification.DEFAULT_VIBRATE;

Wzór wibracji zdefiniowany przez nas

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

Tablica zawiera informacje i ilości milisekund na przemian dla włączenia i wyłączenia wibracji. Nie ma ograniczeń co do długości tablicy. Nie ma jednak możliwości by sekwencję wibracji zapętlać.

Dodatkowe wymagania

Aby skorzystać z wibracji należy skorzystać z pozwolenia (plik AndroidManifest.xml):

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

Powiadomienie z diodą LED

Aby skorzystać z tego powiadomienia urządzenie musi posiadać takową diodę.

notification.flags |= Notification.FLAG_SHOW_LIGHTS;
notification.ledARGB = Color.RED;
notification.ledOffMS = 500;
notification.ledOnMS = 500;

Należy też pamiętać, że niektóre urządzenia posiadają diodę jednego koloru. Nie zawsze też respektowane są ustawienia częstotliwości. Część urządzeń miga diodą tego samego koloru o takiej samej częstotliwości, nezależnie od ustawień.

Powiadomienie ze wszystkim

Nic nie stoi na przeszkodzie by powyższe powiadomienia ze sobą łączyć. Dodatkowo, gdy korzystamy z domyślnych ustawień, możemy skorzystać z pola defaults obiektu Notification:

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

Lub w skrócie:

notification.defaults = Notification.DEFAULT_ALL;

Komentarze (1) Subskrybuj

 

Prześlij komentarz

Zaloguj się lub skorzystaj z profilu:

[rpxlogin redirect="http://www.android4devs.pl" prompt="" style="large"]

Możesz również zostawić komentarz bez rejestracji, korzystając z poniższego formularza:

Musisz być zalogowany aby móc pisać komentarze.