Поиск…


Начало работы с вибрацией

Разрешение на выдачу гранта

перед тем, как вы начнете реализовывать код, вы должны добавить разрешение в манифест андроида:

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

Импортировать библиотеку вибраций

import android.os.Vibrator;

Получить экземпляр вибратора из контекста

Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

Проверить устройство на вибратор

void boolean isHaveVibrate(){
    if (vibrator.hasVibrator()) {
        return true;
    }
    return false;
}

Вибрировать Неопределенно

используя вибрирующий (длинный [] шаблон, int repeat)

Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

// Start time delay 
// Vibrate for 500 milliseconds 
// Sleep for 1000 milliseconds 
long[] pattern = {0, 500, 1000};

// 0 meaning is repeat indefinitely 
vibrator.vibrate(pattern, 0);

Вибрационные шаблоны

Вы можете создавать вибрационные шаблоны, передавая массив длин, каждый из которых представляет продолжительность в миллисекундах. Первое число - это время начала. Каждый элемент массива затем чередуется между вибрацией, сном, вибрацией, сном и т. Д.

Следующий пример демонстрирует этот шаблон:

  • вибрировать 100 миллисекунд и спать 1000 миллисекунд
  • вибрировать 200 миллисекунд и спать 2000 миллисекунд
long[] pattern = {0, 100, 1000, 200, 2000};

Чтобы заставить шаблон повторяться, перейдите в индекс в массив шаблонов, для которого нужно запустить повтор, или -1 чтобы отключить повторение.

Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(pattern, -1); // does not repeat
vibrator.vibrate(pattern,  0); // repeats forever

Остановить вибрацию

Если вы хотите остановить вибрацию, звоните:

vibrator.cancel();

Вибрация за один раз

используя вибрацию (длинные миллисекунды)

Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(500);


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow