Главная » Разработка для Android » Телефонный виброзвонок

0

Вы можете использовать функцию  виброзвонка в телефоне, чтобы со- провождать ваше уведомление  вибрацией.

Android позволяет  разработчику управлять виброзвонком, можно при- менить вибрацию и для передачи информации, и для привлечения внимания пользователя.

Чтобы использовать виброзвонок, передайте в свойство vibrate объекта Notification массив значений  типа long. Постройте  массив, учитывая,  что значения, отвечающие за продолжительность вибрации (в миллисекун- дах), чередуются  со значениями, которые  означают  длину  паузы между вибрациями.

Прежде чем использовать виброзвонок в своем приложении, необходимо получить для этого полномочия. Добавьте тег uses-permission в мани- фест приложения, чтобы запросить доступ к виброзвонку устройства:

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

В следующем примере показано, как изменить уведомление, чтобы одна секунда вибрации  сменялась  одной секундой  паузы на протяжении пяти секунд:

long[] vibrate = new long[] { 1000, 1000, 1000, 1000, 1000 };

notification.vibrate = vibrate;

Вы можете воспользоваться этой тонкой возможностью для пере- дачи пользователям информации. В следующем  дополнении к методу announceNewQuake телефон будет вибрировать,  учитывая  силу землетря- сения. Землетрясения измеряются по экспоненциальной шкале, поэтому примените  тот же метод для создания модели поведения виброзвонка.

В случае с землетрясениями, имеющими  магнитуду  1, телефон  будет вибрировать долю секунды; при землетрясении с магнитудой  10, когда земля расколется пополам, ваши пользователи будут иметь преимущество перед началом Апокалипсиса, так как их телефоны станут вибрировать целых 20 секунд. Наиболее  распространены землетрясения 3–7 баллов по шкале Рихтера, что «выльется» в виброзвонок длиной от 200 миллисекунд до 4 секунд:

double vibrateLength = 100*Math.exp(0.53*quake.getMagnitude()); long[] vibrate = new long[] {100, 100, (long)vibrateLength }; newEarthquakeNotification.vibrate = vibrate;

ПРИМЕЧАНИЕ

В настоящее время эмулятор Android не умеет оповещать о вибрации ни визуально, ни с помощью звуковых сигналов.

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии