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

Oli*_*ver 11 iphone cocoa-touch vibration

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

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

谢谢.

iwa*_*bed 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
   }
}
Run Code Online (Sandbox Code Playgroud)

资源