是否可以以编程方式检查 iPhone 的系统选项
Settings -> Sounds -> Vibrate on Ring
是否启用?
在我的应用程序中,如果该选项被禁用,我想向用户显示警报。
你不能。因为苹果没有提供访问 iPhone 设置应用程序的 API。
也许您可以尝试一下,并确保您在 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");
}
希望它会帮助你!