Я работаю над пользовательской клавиатурой и должен играть звук нажатия клавиш, если он включен в настройках. Звук Tap не является проблемой, но как проверить, включен ли звук нажатия клавиш? Спасибо.
Как проверить включение/выключение звука клавиатуры клавиатуры iPhone в настройках?
Ответ 1
Если вы хотите сделать идеальное решение, вы должны добавить следующий код lcode в свое приложение. В противном случае после первого чтения настройка будет кеширована, и если пользователь переключится на настройки, изменит настройки и вернет обратно, мы должны перечитать кешированное значение.:)
- (void)applicationWillEnterForeground:(UIApplication *)application {
CFPreferencesAppSynchronize(CFSTR("/var/mobile/Library/Preferences/com.apple.preferences.sounds"));
Если кто-то подскажет мне, как комментировать этот сайт, я действительно стал бы более полезным.
Ответ 2
Нет документального способа проверить это, но это возможно. Я не знаю, действительно ли это считается "частным API", поэтому будьте готовы к отказу, если вы используете этот метод.
Настройки звука нажатия клавиш сохраняются в общей настройке com.apple.preferences.sounds
. Поэтому вы можете попробовать
return CFPreferencesGetAppBooleanValue(
CFSTR("keyboard"),
CFSTR("/var/mobile/Library/Preferences/com.apple.preferences.sounds"),
NULL);
(BTW: фактический вызов для воспроизведения звука "click" в UIKit равен [UIHardware _playSystemSound:1104];
)