Предисловие
Когда WeChat был просто популярен, когда я все еще мог быть использован для него, я также держал свой телефон посреди ночи. В то время я подумал, что я полагаюсь на это, чтобы так много встряхнуть для Шенмы. Слишком высоко. После долгих мне необходимо решить проблему вибрации в проекте.
принцип
Основным принципом встряхивания функции является использование датчика ускорения мобильного телефона для достижения определенного значения, когда ускорение достигает определенного значения, такого как вибрация мобильного телефона и изменения пользовательского интерфейса. Чтобы реализовать эту функцию здесь, прежде всего, вам нужно понять использование датчика Android.
Использование датчика датчика Android
В настоящее время есть различные датчики. Тем не менее, не все мобильные телефоны имеют эти датчики, потому что датчик нуждаются в деньгах, поэтому дешевые мобильные телефоны выберут широко используемые датчики для добавления, а некоторые модели с высоким уровнем моды в основном имеют большинство датчиков.
Датчик используйте шаги
Шаги использования датчиков Android могут быть примерно разделены на три шага:
1. Получить объект службы управления датчиком Sensormanager.
2. Создайте класс мониторинга событий датчика, который должен реализовать интерфейс android.hardware.sensoreventListener.
3. Используйте метод Sensormanager.registerListener для регистрации указанного датчика.
Интерфейс события датчика
Интерфейс SensoreventListener, onsensorchanged () и onaccuracychanged () интерфейса для обработки соответствующих событий датчиков.
Общедоступный интерфейс SensoreventListener { /** * Вызовов, когда значения датчиков изменились. }. быть частью INTERNG и может быть повторно использовать P> См. {@link Android.sensormanager Sensormanager} * Для получения подробной информации.
Реализация вибрации Android
Эффект вибрации Android в основном полагается на службу вибратора.
Импорт Android.App.Aptivity; Vibrator_service); ? 1: -1);}}
В то же время вам нужно добавить разрешения на вибрацию в AndroidManifest.xml:
<Users-permission android: name = "android.permission.vibrate"/>
Объясните параметры метода вибрации:
1. Длинные миллисекунд: длина вибрации, единица составляет миллисекунды.
2. Long [] шаблон: режим пользовательского вибрации. Значение чисел в массиве составляет [статическая продолжительность, продолжительность вибрации, статическое время, время вибрации, ...]. Устройство со временем вибрации составляет миллисекунды.
3. Повторите: повторять вибрацию, 1 повторяется, -1 -это вибрация только один раз.
Встряхнуть демонстрацию вибрации
Что ж, вы должны понимать, что вам нужно использовать датчик ускорения для использования датчика ускорения. Класс MainActivity реализуется следующим образом:
Импорт Android. Adware.sensoreventLister; Приватный логический язык = false; Int) {isrefresh = false; ") .create ();}} @Override Protected void onResume () {sensorManager.registerListener (shakelistener, sensormanager.getdefaultsor (sensor.type_acceleromet OnPause () {// Активность На заднем плане отмените тюрьму и слушает тюрьму Onsensorchnted (sensorevent) {// log. (iSrefresh) {return;} float []] values = event.values; Ускорение гравитации направления оси является вперед*/ float x = math.abs (значение [0]); [2]); > = accelerate_value || ();
Карта эффекта: