【发布时间】:2013-10-10 12:15:30
【问题描述】:
是否可以通过编程方式检查 iPhone 的系统选项是否存在
Settings -> Sounds -> Vibrate on Ring
已启用?
在我的应用中,如果该选项被禁用,我想向用户显示警报。
【问题讨论】:
标签: iphone ios settings isenabled vibration
是否可以通过编程方式检查 iPhone 的系统选项是否存在
Settings -> Sounds -> Vibrate on Ring
已启用?
在我的应用中,如果该选项被禁用,我想向用户显示警报。
【问题讨论】:
标签: iphone ios settings isenabled vibration
你不能。因为苹果没有提供访问 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");
}
希望对你有帮助!
【讨论】: