Sto lavorando su una tastiera personalizzata e ho bisogno di riprodurre il suono del rubinetto per le chiavi se abilitato nelle Impostazioni. Tocca il suono non è un problema, ma come verificare che il suono del clic della tastiera sia abilitato? Grazie.Come verificare l'attivazione/disattivazione dell'audio del Klick della tastiera iPhone nelle impostazioni?
risposta
Se si vuole fare la soluzione perfetta, è necessario aggiungere il seguente lcode al vostro app. Altrimenti dopo la prima lettura, l'impostazione viene memorizzata nella cache e se l'utente passa alle impostazioni, apporta modifiche e ripristina, dovremmo rileggere il valore memorizzato nella cache. :)
- (void)applicationWillEnterForeground:(UIApplication *)application {
CFPreferencesAppSynchronize(CFSTR("/var/mobile/Library/Preferences/com.apple.preferences.sounds"));
Se qualcuno mi dice come commentare questo sito, mi piacerebbe davvero diventare più utile.
Non c'è un modo documentato per controllare questo, ma è possibile. Non so se questo conta davvero come "API privata", quindi preparatevi al rifiuto se utilizzate questo metodo.
Le impostazioni del suono di clic della tastiera sono memorizzate nella preferenza condivisa com.apple.preferences.sounds
. Così si potrebbe provare
return CFPreferencesGetAppBooleanValue(
CFSTR("keyboard"),
CFSTR("/var/mobile/Library/Preferences/com.apple.preferences.sounds"),
NULL);
(BTW: la chiamata effettiva per riprodurre il suono "click" in UIKit è [UIHardware _playSystemSound:1104];
)
La chiamata CFPreferencesGetAppBooleanValue funziona perfettamente, ma UIHardware non è riconosciuto (o ovunque nei documenti) per me. Invece, ho aggiunto il framework AudioToolkit e chiamato 'AudioServicesPlaySystemSound (1104)' per lo stesso effetto. –
@Kris: Questo perché UIHardware è una classe privata. – kennytm
- 1. Cocos2d - Mac: verificare gli eventi della tastiera?
- 2. Tastiera ios non visualizzata in Impostazioni
- 3. Come estendere il gradiente della tastiera su iPhone?
- 4. Come rilevare il tasto della tastiera premuto in iphone?
- 5. Tastiera iPhone personalizzata
- 6. Eventi tastiera globali della pagina nelle app di Windows Store
- 7. Mostra tastiera iPhone programmaticamente
- 8. Come memorizzare un HashTable nelle impostazioni utente?
- 9. iPhone - come salvare le impostazioni dell'utente dall'applicazione?
- 10. Xcode 6 Swift Impostazioni tastiera WKWebView
- 11. Personalizzazione della tastiera dell'iPhone
- 12. UIToolbar sopra una tastiera - iPhone SDK
- 13. Xcode: impostazioni del progetto e impostazioni target
- 14. Modifica del colore della tastiera di una tastiera WP8
- 15. Come gestire gli eventi della tastiera nelle estensioni della shell di gnome?
- 16. Layout tastiera iPhone per numeri negativi?
- 17. Le impostazioni OAuth del client non vengono visualizzate nelle impostazioni avanzate della mia app nel login facebook
- 18. Attivazione manuale della tastiera iPhone/iPad/iPod da JavaScript
- 19. tastiera iphone senza visualizzazione testo
- 20. Apertura programmatica dell'app impostazioni (iPhone)
- 21. Attivazione della tastiera su schermo nel simulatore
- 22. Controllo della posizione della vista di correzione automatica su iPhone
- 23. Perché i Cocoapods si lamentano del contenuto incorporato che contiene impostazioni rapide nelle impostazioni di compilazione?
- 24. Ascoltate posizione disabilitare l'accesso/abilitare nelle impostazioni
- 25. Howto repository specchio disabilita nelle impostazioni Maven
- 26. Utilizzo di enum proprio nelle impostazioni
- 27. Come pop-up della tastiera Android "? 123"
- 28. Salvataggio delle informazioni utente nelle impostazioni dell'applicazione
- 29. Aggiornamento dell'analizzatore nelle impostazioni di ElasticSearch
- 30. Nelle impostazioni PHP, dovrebbe memory_limit> upload_max_filesize?
Frustrante, questo non sembra funzionare su iOS 6.0.1. La mia app sembra memorizzare nella cache il valore di impostazione che è stato selezionato ogni volta che viene caricata l'app. Se cambio l'impostazione e torno alla mia app, non si regola. Se esco dall'app e riavvio, il cambiamento viene rilevato. Ora ho un dilemma: non fornire affatto clic chiave nella mia tastiera personalizzata o vivere con il bug che le impostazioni cambiano mentre la mia app è sospesa. Che è peggio? –
Ho controllato su 6.1.4, la mia app ottiene sempre entrambi vars false da 'Boolean keyExistsAndHasValidFormat = false; valore bool = CFPreferencesGetAppBooleanValue ( CFSTR ("tastiera"), CFSTR ("/ var/mobile/Library/Preferences/com.apple.preferences.sounds"), & keyExistsAndHasValidFormat); 'Quindi il mio codice smesso di giocare molto tempo fa clic . Così sia, se gli utenti si lamentano, li indirizzerò direttamente ad Apple. Abbiamo perso il combattimento. – Hrissan