1)只有系统设置中打开触感反馈选项,方法performHapticFeedback(int feedbackConstant)才会被执行,而performHapticFeedback(feedbackConstant,flags)有些特殊,比如:
HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING忽略全局设置(开启与否)或是在开启全局设置下HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING忽略视图的android:hapticFeedbackEnabled的设置,总是执行触感反馈。
2)系统设置中若关闭了选择操作音(选取控件时播放音效),则android:soundEffectsEnabled属性无意义,均不发声;而如果开启了设置中的选择操作音,则即使没有设置view的该属性,v.playSoundEffect(soundEffectConstants)依然会有单击提示音,除非设置该属性为false时,view才不会出现按键提示音。
3)注册该视图的单击事件处理器,并在其中执行
public void onClick(View v) {v.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS,HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING);v.playSoundEffect(SoundEffectConstants.CLICK);}