我有一个Android服务(在Java中),它当前调用的函数可以在用户反复摇动手机时获取地理位置坐标。
然而,为了减少误报,我希望能够听到一系列事件 - 例如硬件按钮按下(例如音量减小)以及重复摇动,然后调用相同的功能如上所述。
答案 0 :(得分:0)
您可以通过硬件按键编写监听器(查看onKeyDown和onKeyUp)。你写了摇动探测器。让每个人在检测到它时设置一个布尔标志,并在其结束时清除标志(对于摇动你想要在摇动结束时或在一段时间后清除它)。让每个监听器调用getDataIfNeeded()。让那个函数检查两个标志是否为真,如果是,那么你想做什么。
答案 1 :(得分:0)
你可以为这两个事件建议像@gabe这样的布尔,并且在onReceive
中你可以检查两个布尔都是真的做某事。还会创建一个计时器,在大约一秒左右的时间内将这些布尔值设置为false。这将跟踪两个事件一起发生。