我正在使用自定义键盘,如果在“设置”中启用了按键,则需要为按键播放按键音。点击声音不是问题,但如何检查是否启用了键盘声音?感谢。
答案 0 :(得分:17)
没有记录的方法来检查这一点,但这是可能的。我不知道这是否真的算作“私有API”,所以如果你使用这种方法,请准备拒绝。
键盘单击声音设置存储在共享的com.apple.preferences.sounds
首选项中。所以你可以试试
return CFPreferencesGetAppBooleanValue(
CFSTR("keyboard"),
CFSTR("/var/mobile/Library/Preferences/com.apple.preferences.sounds"),
NULL);
(顺便说一句:在UIKit中播放“点击”声音的实际调用是[UIHardware _playSystemSound:1104];
)
答案 1 :(得分:4)
如果您想制作完美的解决方案,则应将以下lcode添加到您的应用中。 否则在第一次读取后,设置被缓存,如果用户切换到设置,进行更改并切换回来,我们应该重新读取缓存的值。 :)
- (void)applicationWillEnterForeground:(UIApplication *)application {
CFPreferencesAppSynchronize(CFSTR("/var/mobile/Library/Preferences/com.apple.preferences.sounds"));
如果有人告诉我如何评论这个网站,我会真的变得更有帮助。