我正在开发一个允许更改来电默认振动的 Android 应用程序。由于没有直接路径,我必须对来电执行类似以下算法的操作:
- 保存当前声音模式
- 切换到静音模式以关闭标准振动
- 开始播放我的振动模式
- 通话结束时恢复声音模式
总的来说,这个算法效果很好。但在某些型号的设备上,我观察到来电时振动模式的播放不正确。如果在来电时播放,每次振动的时长会大大缩短。在这种情况下,所有暂停都被保留。
比如我有一个模式:{0, 200, 500, 300, 500, 400}。
这意味着:
- 0ms 启动延迟
- 200ms震动
- 500 毫秒暂停
- 300ms震动
- 500 毫秒暂停
- 400ms震动
但是,当它在来电期间播放时,听起来像:
- 0ms 启动延迟
- 20ms震动
- 500 毫秒暂停
- 20ms震动
- 500 毫秒暂停
- 20ms震动
是的,我知道,我很可能进入了特定于供应商的事情。但是仍然......也许有人已经遇到过这个并且知道如何绕过它?非常感谢!