0

setVibrateSettings()バイブレーション設定を変更しても SO バイブレーション設定と同期しないと froyo で読みました。次に、このリンクのいくつかの機能で人々が使用するこの回避策を見つけました。

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

ただし、そのソース コードには次の 2 つの呼び出しがあります。

 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オーディオ設定に移動し、バイブ値が異なり、アプリに戻るとバイブ設定も変更されます私が前に選んだものとは異なります。何か案は?

4

1 に答える 1

0

次のリンクを試してください: http://www.kiwidoc.com/java/l/p/android/android/8/p/android.provider/c/Settings.System

私が試したことから、設定はまだ存在しますが、以前のように公開されていません。「vibrate_in_silent」という名前を指定するだけで、Settings.System.putInt(...) を使用して設定できます。

いつかこれが機能しなくなると思うので、可能な限りコードを保護することをお勧めします (最初に getInt を呼び出して設定が存在するかどうかを確認し、try-catch を追加します...)

于 2011-06-16T14:32:05.497 に答える