你知道我怎么知道iPhone是否处于振动模式? 我在网上找不到任何关于这个的东西...太累了看?iPhone - 我如何知道iOS的振动是打开还是关闭?
我想在应用程序中显示图标,以便用户可以知道在手机处于振动模式时是否正在查看它。 Tha应用程序也有不同的行为,取决于用户是否想要受到干扰(振动)或不振动(振动)。
谢谢。
你知道我怎么知道iPhone是否处于振动模式? 我在网上找不到任何关于这个的东西...太累了看?iPhone - 我如何知道iOS的振动是打开还是关闭?
我想在应用程序中显示图标,以便用户可以知道在手机处于振动模式时是否正在查看它。 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
}
}
很好找。我认为这对App Store来说是安全的? – 2011-04-02 01:30:07
是的,这些只是音频会话属性,所以它是公共API。更多信息:http://developer.apple.com/library/ios/#documentation/AudioToolbox/Reference/AudioSessionServicesReference/Reference/reference.html – iwasrobbed 2011-04-02 02:06:46
AudioSessionInitialize和AudioSessionGetProperty在iOS 7中已弃用,是否有其他方法可以做到这一点? – easythrees 2014-01-12 21:35:21
你可以调用它。 ;) – ikegami 2011-04-01 23:15:46
我知道我不应该这样做,但是...... * snicker * – 2011-04-01 23:22:45
你知道它是在振动模式下想达到什么目的?用于音频播放? – iwasrobbed 2011-04-02 00:22:45