Xamarin的iOS:检测如果振动可用/支持的设备

问题描述:

在Xamarin的iOS上,我可以得到设备使用振动:Xamarin的iOS:检测如果振动可用/支持的设备

SystemSound.Vibrate.PlaySystemSound(); 

然而,这只是什么都不做,如果设备不支持振动,这目前iPAD设备就是这种情况。

有没有办法来找到设备上是否支持振动

+0

看来苹果文档不谈论的方法来检查,如果当前设备支持振动。然而,假设现在只有iPhone可以振动,您可以使用'UIDevice.CurrentDevice.UserInterfaceIdiom'检查哪个设备正在运行您的应用程序,然后执行不同的操作。 – Nerkyator

您可以检查TargetIdiom

if(Device.Idiom.Equals(TargetIdiom.Phone)) 
{ 
    // vibrate supported because only iPhone can vibrate 
} 

但请记住这是一种解决方法的。

Ios中没有任何东西来检查设备是否支持振动。根据苹果文档,kSystemSoundID_Vibrate(振动)仅适用于iPhone - 不适用于iPod,不适用于iPad。

所以,你必须检查,如果当前设备是iPhone,以检查是否振动支持:

if(Device.Idiom.Equals(TargetIdiom.Phone)) 
{ 
    // you can play vibrate sound. 
} 
else 
{ 
//play other sound 
}