我在Android中操纵系统设置时遇到问题。总而言之,我们正在开发一个应用程序,使用不同的输入设置进行一些用户实验。我们需要通过不同的实验以编程方式启用和禁用按键点击和按键点击振动的声音。
我已经探索了一些选项,但是如果可能的话,我想避免实际设置一个监听器并手动振动。
我已授权自己修改系统设置:
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
以下是我用来修改系统设置的代码:
android.provider.Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.HAPTIC_FEEDBACK_ENABLED,
1);
但是,更改未反映在系统设置中。
以下代码正常运行,通过模拟器上系统设置窗口中的设置实际更改来验证。
android.provider.Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.TEXT_AUTO_PUNCTUATE,
0);
android.provider.Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.TEXT_AUTO_REPLACE,
0);
我还尝试在视图上设置特定设置:
EditText inputArea = (EditText) findViewById(R.id.editText1);
inputArea.setHapticFeedbackEnabled(true);
inputArea.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP, HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING | HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
inputArea.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY, HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING | HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
我把它推到了手机上,它也没有效果。
我需要的是一种在实验过程中以编程方式启用/禁用触键反馈和按键点击声音的方法。我搜索了堆栈溢出但是找不到任何有用的东西。
任何人都知道任何技巧,或者我是否必须放弃使用按键处理器并手动振动手机?
谢谢!