Pergunta

Eu li isso em Froyo se você mudar de vibração com as configurações com setVibrateSettings() Ele não sincroniza com configurações de vibração. Então eu achei essa solução alternativa que as pessoas usam com algumas das funções neste link:

https://android.googlesource.com/platform/packages/apps/settings/+/froyo-release/src/com/android/settings/SoundSettings.java

No entanto, esse código -fonte existem duas chamadas para:

 173        boolean vibeInSilent = (Settings.System.getInt(
 174             getContentResolver(),
 175             Settings.System.VIBRATE_IN_SILENT,
 176             1) == 1);

 227        Settings.System.putInt(getContentResolver(),
 228             Settings.System.VIBRATE_IN_SILENT,
 229             vibeInSilent ? 1 : 0);

Essa é a única diferença com o que eu tento fazer no meu código para alterar as sedimentadas vibração. Mas Settings.System.VIBRATE_IN_SILENT Parece ser removido em 2.2; portanto, quando eu troco as configurações de vibração "Normal, Off, apenas em Silencioso", então eu vou para as configurações de áudio e o valor da VIB é diferente e, se eu voltar ao meu aplicativo, as configurações da VIB também são diferentes para o que eu selecionei antes. Alguma ideia?

Foi útil?

Solução

Experimente o seguinte link:http://www.kiwidoc.com/java/l/p/android/android/8/p/android.provider/c/settings.system

Pelo que tentei, a configuração ainda existe, mas não exposta como costumava ser. Ele ainda pode ser definido usando o Settings.system.putInt (...) basta especificar o nome "vibrate_in_silent".

Eu acho que um dia isso não funcionará mais, então eu recomendo proteger seu código de qualquer maneira possível (verifique se a configuração existir chamando o getInt primeiro, adicione o try-capath ...)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top