PhoneGap的vibrate()和beep()函数在iPhone,Android模拟器中断开

时间:2010-05-20 20:56:49

标签: iphone android ios-simulator android-emulator cordova

我有一个我在webOS,Android和iPhone上测试的PhoneGap应用程序。我正在使用物理设备和模拟器(与各自SDK一起提供的设备,而不是PhoneGap emulator)。

部分代码使用navigator.notification.vibrate()navigator.notification.beep()函数。

我正在使用的所有物理设备都执行该行为,或者如果它们没有能力则忽略它(例如,iPod不能振动)。但是,仿真器的行为方式不同。

只要调用beep()函数,Android模拟器就会杀死应用程序。只要调用vibrate()函数,iPhone模拟器就会导致应用程序挂起。

有没有办法让仿真器在无法执行它们时忽略这些函数调用?也就是说,有没有办法让它们优雅地降级,这样我就可以测试应用程序的两个地方,而不必专门为模拟器修改代码?

1 个答案:

答案 0 :(得分:2)

我不认为这是模拟器的问题。我可以在我的原生应用程序中使用振动和音频警报。这些都在模拟器中运行良好。我认为问题是PhoneGap如何在本机代码中处理这些功能。您是否建议这些功能在设备上运行,而不是模拟器?