Программирование Android Класс Vibrator Fri, April 19 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Класс Vibrator Печать
Добавил(а) microsin   

Java-класс Vibrator в Android предназначен для управления встроенным в устройство вибратором. Это можно использовать для оживления игр и в других случаях, для привлечения внимания пользователя. Иерархия Vibrator совсем короткая: java.lang.Object -> android.os.Vibrator. Здесь приведен перевод документации [1].

Класс Vibrator программно запускает вибрацию устройства. Если Ваш процесс (программа) завершается, то любая запущенная вибрация также прекращается.

Прим. переводчика: на самом деле это не так, все с точностью до наоборот - вибратор продолжает работать. Возможно, здесь имелось в виду, что прекращает работу метод vibrate, который воспроизводит алгоритм управления вибрациями из массива pattern (см. описание ниже).

Чтобы получить экземпляр вибратора системы, вызовите getSystemService(String), где в качестве аргумента нужно передать VIBRATOR_SERVICE. Общее описание методов класса Vibrator приведено в таблице.

Общедоступные методы (Public Methods)
abstract void cancel()
Выключает вибрирование.
abstract boolean hasVibrator()
Проверка аппаратуры - присутствует вибратор, или нет.
abstract void vibrate(long[] pattern, int repeat)
Запускает процесс вибрирования по заданному алгоритму.
abstract void vibrate(long milliseconds)
Запускает постоянное вибрирование на указанный промежуток времени.

[Описание публичных методов класса Vibrator]

public abstract void cancel ()

Добавлен в API level 1. Выключает вибратор. Этот метод требует, чтобы у вызывающего кода было разрешение (права) на функцию VIBRATE.

public abstract boolean hasVibrator ()

Добавлен в API level 11. Делает проверку, есть ли в устройстве вибратор. Возвращает true, если в устройстве присутствует вибратор, иначе false.

public abstract void vibrate (long[] pattern, int repeat)

Добавлен в API level 1. Запускает процесс вибрации по указанному алгоритму (заданному в pattern).

Переданный в качестве параметра массив целых pattern задает длительности в миллисекундах, на которые вибратор будет включен или выключен. Первое значение в массиве показывает количество миллисекунд ожидания, перед тем как вибратор включится. Следующее значение покажет, сколько миллисекунд вибратор будет работать, пока не выключится. Последующие значения задают чередуемые длительности в миллисекундах, чтобы выключить или включить вибратор.

Чтобы запустить повторы проигрывания массива, укажите в параметре repeat индекс в массиве, откуда должны начинаться повторы, или передайте -1 для запрета повторов. Этот метод требует, чтобы у вызывающего кода было разрешение (права) на функцию VIBRATE.

public abstract void vibrate (long milliseconds)

Добавлен в API level 1. Запускает постоянное вибрирование на указанное время в миллисекундах. Этот метод требует, чтобы у вызывающего кода было разрешение (права) на функцию VIBRATE.

[Пример использования класса Vibrator]

1. Добавьте в тег manifest файла AndroidManifest.xml тег uses-permission, разрешающий использование вибратора:

< ?xml version="1.0" encoding="utf-8"? >
< manifest ... >
   ...
   < uses-permission android:name="android.permission.VIBRATE" />
   ...
< /manifest >

Если этого не сделать, то приложение будет завершаться с ошибкой "FATAL EXCEPTION: main", "java.lang.IllegalStateException: Could not execute method of the activity", "Caused by: java.lang.SecurityException: Requires VIBRATE permission".

2. Создайте глобальную переменную для класса Vibrator (например, в пределах класса MainActivity):

private Vibrator Vibro;

3. В функции инициализации (например, в обработчике onCreate класса MainActivity) вызовите функцию getSystemService:

Vibro = (Vibrator)this.getSystemService(VIBRATOR_SERVICE);

4. Теперь можете вызывать методы класса Vibrator:

//Запуск вибрации на 100 мс.
Vibro.vibrate(100);

Eclipse-Vibratortest

Готовый проект тестирования вибратора можно скачать по ссылке [2].

[Ссылки]

1. Vibrator site:developer.android.com.
2140328Vibratortest.zip - исходный код Java, демонстрирующий использование Vibrator (проект Eclipse для Android). 

 

Добавить комментарий


Защитный код
Обновить

Top of Page