Я читал, что в 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, и значение вибрации другое, и если я возвращаюсь к своему приложению,Настройки также отличаются от того, что я выбрал ранее.Есть идеи?