我有一个我在webOS,Android和iPhone上测试的PhoneGap应用程序。我正在使用物理设备和模拟器(与各自SDK一起提供的设备,而不是PhoneGap emulator)。
部分代码使用navigator.notification.vibrate()
和navigator.notification.beep()
函数。
我正在使用的所有物理设备都执行该行为,或者如果它们没有能力则忽略它(例如,iPod不能振动)。但是,仿真器的行为方式不同。
只要调用beep()
函数,Android模拟器就会杀死应用程序。只要调用vibrate()
函数,iPhone模拟器就会导致应用程序挂起。
有没有办法让仿真器在无法执行它们时忽略这些函数调用?也就是说,有没有办法让它们优雅地降级,这样我就可以测试应用程序的两个地方,而不必专门为模拟器修改代码?
答案 0 :(得分:2)
我不认为这是模拟器的问题。我可以在我的原生应用程序中使用振动和音频警报。这些都在模拟器中运行良好。我认为问题是PhoneGap如何在本机代码中处理这些功能。您是否建议这些功能在设备上运行,而不是模拟器?