如果您使用setVibrateSettings()
更改振动设置,我会在froyo中读到它,但它与SO振动设置不同步。然后我发现这个解决方法是人们使用此链接中的一些功能:
但是,该源代码有两个调用:
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音频设置并且振动值不同,如果我回到我的应用程序,振动设置也与我之前选择的不同。有什么想法吗?
答案 0 :(得分:0)
请尝试以下链接: 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 ...)