我有一个 PhoneGap 应用程序,我正在 webOS、Android 和 iPhone 上进行测试。我正在使用物理设备和模拟器(它们各自的 SDK 附带的设备,而不是PhoneGap 模拟器)。
部分代码使用了navigator.notification.vibrate()
andnavigator.notification.beep()
函数。
我使用的所有物理设备要么执行该行为,要么在它们不具备此功能时忽略它(例如,iPod 无法振动)。但是,模拟器的行为不同。
每当调用该beep()
函数时,Android 模拟器都会终止应用程序。每当调用该vibrate()
函数时,iPhone 模拟器都会导致应用程序挂起。
有没有办法让模拟器在无法执行这些函数调用时忽略它们?也就是说,有没有办法让它们优雅地降级,这样我就可以在两个地方测试应用程序,而不必专门为模拟器修改代码?