Le funzioni del programma in questo modo: l'utente ha una lista di numeri di telefono, per il quale il cellulare potrebbe vibrare su di una chiamata in arrivo solo quando nessun altra applicazione a livello di sistema fornirebbe delle vibrazioni (ad esempio come in modalità muto). So che questo è in qualche modo contro le regole, perché un'applicazione dovrebbe rispettare le impostazioni degli utenti, ma l'applicazione è limitata ad alcuni utenti con questa esigenza. Ho provato due modi, ma nessuno di loro sono soddisfacenti:Come fornire vibrazioni personalizzate sulle chiamate in arrivo specifici
Ascolta lo stato di telefonia e innescare direttamente il servizio di vibrazione con il mio proprio modello (con
Vibrator.vibrate()
). Questo metodo è efficace senza le chiamate in entrata in modo casuale ma efficace quando il telefono è inCALL_STATE_RINGING
stato e credo che sia a causa del conflitto con l'applicazione a livello di sistema che gestisce in realtà la vibrazione sulla chiamata in arrivo.giudicare se il cellulare vibra su di una chiamata in arrivo (con
AudioManager.shouldVibrate()
), e decidere se cambiare le impostazioni di vibrazione (conAudioManager.setRingerMode()
eAudioManager.setVibrateSetting()
). Se le impostazioni della vibrazione vengono modificate dalla mia applicazione, devono essere ripristinate una volta che il cellulare è tornato allo statoCALL_STATE_IDLE
. Questo metodo, tuttavia, non funziona ancora a volte, senza alcun segno del motivo.
Spero che qualcuno possa dare qualche consiglio su questo problema. Commenti su questi due modi o altri suggerimenti sono i benvenuti.
Qualche progresso su questo? – Rizon
@Rizon Purtroppo no, e questa domanda mi fa guadagnare un distintivo di tumbleweed. – peter
Questa non è la stessa cosa, ma qualcuno tryed disattivazione vibrazione per le chiamate incomming e non è stato possibile, ma i risultati sono interessanti per voi: http://stackoverflow.com/q/8065862/969325 – Warpzit