2

我有一个 PhoneGap 应用程序,我正在 webOS、Android 和 iPhone 上进行测试。我正在使用物理设备和模拟器(它们各自的 SDK 附带的设备,而不是PhoneGap 模拟器)。

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

我使用的所有物理设备要么执行该行为,要么在它们不具备此功能时忽略它(例如,iPod 无法振动)。但是,模拟器的行为不同。

每当调用该beep()函数时,Android 模拟器都会终止应用程序。每当调用该vibrate()函数时,iPhone 模拟器都会导致应用程序挂起。

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

4

1 回答 1

2

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

于 2010-05-21T18:21:01.493 回答