I want to add haptic feedback to my application's buttons and control them programmatically to show button state (enabled and disabled). The default haptic feedback setter works only for long press. How can i make it work for simple button clicks.
And is there a way to have haptic feedback on events like touch move?
a straightforward approach you can use in an activity.
In addition to the previous answers please make sure that "Vibration Feedback" option is enabled from your device settings
Here is an answer, though it might not be the best implementation:
Don't forget, you also need to add the "android.permission.VIBRATE" permission to the program's manifest. You can do so by adding the following to the "AndroidManifest.xml" file:
I hope that helps.
UPDATE ON DECEMBER 24TH 2019:
The view must be enabled Haptic function by:
android:hapticFeedbackEnabled="true"
in xml.Or use
view.setHapticFeedbackEnabled(true);
in code(Cited from Ivan Chau)
However, one more thing to take into consideration is to enable Haptic Setting in virtual devices. This is annoying sometimes, so we have some flags come to help (which will ignore these enable Setting somehow):
An example to Mayra is, for run the Haptic Feedback is by using this code.
And this line of code can easy be include in you onclick action. The good part with this is you do not need to set a permission in the AndroidManifest (I do not need this on SdkVersion "7" (2.1 or 2.3 is 7 ))
Also note, in my code here, this will only be running if the user has enabled Haptic Feedback as global. See http://developer.android.com/reference/android/view/HapticFeedbackConstants.html for alway use it.
View has a performHapticFeedback function, which should allow you to perform it whenever you want, i.e., on an OnClick listener.