Настройки вибрации в фройо - PullRequest
0 голосов
/ 01 октября 2010

Я читал, что в froyo, если вы изменяете настройки вибрации с помощью setVibrateSettings(), она не синхронизируется с SO настройками вибрации.Затем я нашел этот обходной путь, который люди используют с некоторыми из функций по этой ссылке:

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

Однако этот исходный код имеет два вызова:

 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);

Это единственное отличие от того, что я пытаюсь сделать в своем коде, чтобы изменить настройки вибрации.Но Settings.System.VIBRATE_IN_SILENT, кажется, удаляется в 2.2, поэтому, когда я изменяю настройки вибрации "нормально, выключено, только в беззвучном режиме", то я перехожу к настройкам звука SO, и значение вибрации другое, и если я возвращаюсь к своему приложению,Настройки также отличаются от того, что я выбрал ранее.Есть идеи?

1 Ответ

0 голосов
/ 16 июня 2011

Попробуйте следующую ссылку: http://www.kiwidoc.com/java/l/p/android/android/8/p/android.provider/c/Settings.System

Исходя из того, что я пробовал, настройки все еще существуют, но не отображаются, как раньше. Его по-прежнему можно установить с помощью Settings.System.putInt (...), просто укажите имя "vibrate_in_silent".

Я думаю, что когда-нибудь это больше не будет работать, поэтому я рекомендую защищать ваш код любым возможным способом (сначала проверьте, существует ли настройка, вызвав getInt, добавьте try-catch ...)

...