Как заставить все мои действия прислушиваться к сотрясениям устройства? - PullRequest
3 голосов
/ 30 ноября 2011

Как заставить приложение прислушиваться к сотрясениям устройства?Я имею в виду не единственное действие в приложении, но все они. Я использовал TabActivity и выполнил всю логику регистрации / отмены регистрации SensorManager здесь, а также реализовал его как SensorEventListener для обнаружения дрожаний.Затем действия на вкладках прослушивались для пользовательского OnShakeListener, объявленного в моем TabActivity.но эта логика приводит к краху.Правильно ли я выбрал этот способ реализации и должен искать ошибки?ИЛИ Должен ли я использовать Сервис вместо того, чтобы получить то, что я хочу?Или есть другой способ?

1 Ответ

1 голос
/ 30 ноября 2011

Реализация слушателя встряски (SensorEventListener) в одном abstract Activity (скажем: ShakeListenerActivity) и получение всех других Activity расширений ShakeListenerActivity.

определяют абстрактный методскажем: shakeDetected(Params...)) в ShakeListenerActivity и переопределить его во всех дочерних Activities.

В дочерних Activity shakeDetected(Params...) вы можете реализовать другую логику соответственно.shakeDetected() всякий раз, когда вы обнаруживаете сотрясение через SensorEventListener

...