屏幕关闭时是否可以检测到运动?

Ahm*_*azy 5 android accelerometer android-sensors

我的应用程序只需要在屏幕关闭时检测设备的任何动作.

我知道加速度计用于此任务,但在所有设备中屏幕关闭时它不起作用.这是设备列表http://www.saltwebsites.com/2012/android-accelerometers-screen-off

那么有什么方法可以在屏幕关闭时获取加速计传感器数据,适用于所有设备?

或者有没有办法用另一个传感器检测运动?

ale*_*lex 5

Partial Wake Lock 只需在屏幕关闭时访问加速计读数即可.

你可以像这样使用它:

private PowerManager.WakeLock mWakeLock;

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
mWakeLock.acquire();
Run Code Online (Sandbox Code Playgroud)

完成后,只需释放锁:

mWakeLock.release();
Run Code Online (Sandbox Code Playgroud)

如果你在a中获得加速度计数据Service,你可以简单地获取锁定onCreate()并释放onDestroy().


Pla*_*ato 4

是的,您可以在后台或屏幕关闭时使用加速度计
,但您需要按住WakeLock [链接]以防止设备休眠。

如果您需要检测设备是否静止或是否再次开始移动,您可能会对通过 Google 服务识别用户的当前活动感兴趣 。