iPhone-我如何知道iOS的震动是开还是关?

iPhone-我如何知道iOS的震动是开还是关?,iphone,cocoa-touch,vibration,Iphone,Cocoa Touch,Vibration,你知道我怎么知道iPhone是否处于振动模式吗? 我在网上找不到关于这个的任何东西。。。累得看不见 我想在应用程序中显示一个图标,这样用户可以知道手机是否处于振动模式。Tha应用程序也有不同的行为,这取决于用户是否想要被打扰(关闭振动)或不想被打扰(打开振动) 谢谢。您应该能够通过以下方式实现此目的: #import "AudioToolbox/AudioToolbox.h" - (void) ifSilentModeThenShowIcon { CFStringRef state;

你知道我怎么知道iPhone是否处于振动模式吗? 我在网上找不到关于这个的任何东西。。。累得看不见

我想在应用程序中显示一个图标,这样用户可以知道手机是否处于振动模式。Tha应用程序也有不同的行为,这取决于用户是否想要被打扰(关闭振动)或不想被打扰(打开振动)


谢谢。

您应该能够通过以下方式实现此目的:

#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
   }
}

我知道我不应该,但是。。。窃笑知道它处于振动模式,你想达到什么目的?对于音频播放?@IWASROBED:我想在应用程序中显示一个图标,以便用户可以知道手机是否处于振动模式。不确定是否真的需要视觉指示器。你根本不需要知道。您只需向操作系统发出命令,然后它就会根据硬件状态做出响应。@FreeAsInBeer:我可以描述一下整个应用程序吗?它不仅显示一个指示器。它有不同的行为,这取决于用户是否想被打扰。很好的发现。我假设这对应用商店是安全的?是的,这些只是音频会话属性,所以它是公共API。这里有更多信息:在iOS 7中,AudioSessionInitialize和AudioSessionGetProperty是不推荐的,还有其他方法吗?