1

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

Settings -> Sounds -> Vibrate on Ring

是否启用?

在我的应用程序中,如果该选项被禁用,我想向用户显示警报。

4

2 回答 2

1

你不能。因为苹果没有提供访问 iPhone 设置应用程序的 API。

于 2013-10-10T12:25:14.973 回答
-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");
}

希望它会帮助你!

于 2013-10-10T12:23:54.643 回答