iPhone:以编程方式检查是否启用了振动

时间:2013-10-10 12:15:31

标签: iphone ios settings isenabled vibration

是否可以以编程方式检查iPhone的系统选项

Settings -> Sounds -> Vibrate on Ring

已启用?

在我的应用中,如果禁用该选项,我想向用户显示提醒。

2 个答案:

答案 0 :(得分:0)

你做不到。因为apple没有提供API来访问iPhone设置应用程序。

答案 1 :(得分:-1)

可能是你可以尝试一下并确保你在iDevice中运行应用程序,因为模拟器没有静音或响铃模式:)

新编辑

-(BOOL)silenced 
{
     #if TARGET_IPHONE_SIMULATOR
        // return NO in simulator. Code causes crashes for some reason.
     return NO;
     #endif

    CFStringRef state;
    UInt32 propertySize = sizeof(CFStringRef);
    AudioSessionInitialize(NULL, NULL, NULL, NULL);
    AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state);
    if(CFStringGetLength(state) > 0)
        return NO;
    else
        return YES;
}

你可以这样调用这个方法

if ([self silenced]) 
{
    NSLog(@"silenced");
} else {
    NSLog(@"not silenced");
}
希望它会对你有所帮助!