iPhone - 我如何知道iOS的振动是打开还是关闭?

时间:2011-04-01 23:09:41

标签: iphone cocoa-touch vibrate

你知道我怎么知道iPhone是否处于振动模式? 我在网上找不到任何相关内容...太累了看?

我想在应用程序中显示一个图标,以便用户可以在手机处于振动模式时查看它。 Tha app也有不同的行为,取决于用户是否想要被打扰(振动)或不振动(振动)。

谢谢。

1 个答案:

答案 0 :(得分:10)

您应该能够使用以下方法实现这一目标:

#import "AudioToolbox/AudioToolbox.h"

- (void) ifSilentModeThenShowIcon
{
   CFStringRef state;
   UInt32 propertySize = sizeof(CFStringRef);
   AudioSessionInitialize(NULL, NULL, NULL, NULL);
   AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state);

   if(CFStringGetLength(state) == 0)
   { 
     // phone's ringer is off so put
     // some icon showing code here
   }
}

Source