Android: Vibrationsalarm und Benachrichtigungston

Ab und zu bekommt man den Use Case, dass das Smartphone klingeln oder vibrieren soll. In Android gibt es dafür den RingtoneManager und den Systemservice Vibrator. In diesem Blogbeitrag zeige ich euch, wie man die beiden Klassen verwendet.

 

 

 

Klingelton

Meine Devise ist: „weniger reden, mehr zeigen„. Daher zeige ich euch an einem Code-Beispiel, wie man das Smartphone klingeln lassen kann.

            // Standard - Benachrichtungston
            Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
            // Standard - Klingelton
            //Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
            // Standard - Alarmton
            //Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);

            Ringtone r = RingtoneManager.getRingtone(context, notification);
            r.play();

 

Vibration

Um das Smartphone vibrieren zu lassen, brauchen wir erst einmal eine Berechtigung. Daher fügen wir folgende Berechtigung in unsere AndroidManifest.xml ein.

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

Jetzt können wir loslegen!

		Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
		if (vibrator.hasVibrator()) {
			// 2 Sekunden vibrieren
			int sek = 2;
			vibrator.vibrate(sek * 1000);

			// Muster
			// vibrieren fuer 100 ms
			// nichts tun fuer 500 ms
			long[] pattern = {100, 500};
			// anderes Pattern nach dem Muster:
			// vibrieren, nichts tun, vibrieren, nichts tun, vibrieren, ... 
			//long[] pattern = {100, 500, 400, 100, 200, 800, 700, 50};

			// Wiederholungsanzahl x >= 0 fuer unendlich und startposition im Array
			// -1 fuer nur einmal!
			vibrator.vibrate(pattern, -1);
			
			// zum stoppen
			vibrator.cancel();
			

		} else {
			// kann nicht vibrieren:-/
		}

 

Die Quellen

 

Copyright © 2014 AxxG – Alexander Gräsel



Kommentar verfassen