android - 如何让我的所有 Activity 都听到设备的震动?

标签 android listener sensors android-sensors

如何让应用程序监听设备的震动?我的意思不是应用程序中的唯一 Activity ,而是所有 Activity 。我使用了 TabActivity 并在此处执行了注册/注销 SensorManager 的所有逻辑,并将其实现为 SensorEventListener 以检测震动。然后选项卡中的 Activity 监听自定义 OnShakeListener,在我的 TabActivity 中声明。但这种逻辑导致崩溃。我选择这种实现方式是否正确,是否应该寻找错误?或者我应该使用服务来获得我想要的东西吗?还是有其他办法?

最佳答案

在一个 abstract Activity(例如:ShakeListenerActivity)中实现摇动监听器(SensorEventListener)并获取所有其他Activity 扩展你 ShakeListenerActivity

ShakeListenerActivity 中定义一个抽象方法(例如:shakeDetected(Params...))并在所有子 Activities 中覆盖它。

在 child ActivityshakeDetected(Params...) 中,您可以相应地实现不同的逻辑。

每当您通过 SensorEventListener 检测到任何摇晃时调用 shakeDetected()

关于android - 如何让我的所有 Activity 都听到设备的震动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8322400/

相关文章:

java - 每次监听器执行时如何更改面板的图形?

java - 按下按钮使微调器在另一个屏幕上可见

jsf - oncomplete for p :ajax event is always called, 即使监听器不返回任何内容

javascript 'deviceorientation' 事件 - 它测量什么传感器?

android - CoroutineDispatcher 注入(inject)时 Hilt 构建失败

android - 拉动刷新不适用于 firebaseRecyclerAdapter

android - 为多个变体定义依赖关系

Android Sensor Timestamp 引用时间

arrays - 如何检测一维测量阵列上的模式

android - 错误 : Unknown validation VALIDATE_APP_MESSAGE_NOT_PAID in Google Play Developer Console