2013-04-24 54 views
2

我想在用户按下对话框上的项目时执行触觉反馈。因为我没有在我的手握住视图(仅活动)如何在对话框上执行触觉反馈?

我能做些什么

view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); 

: 我不能使用的视图的方法?

+1

如何获取对话框的'DecorView'并调用'performHapticFeedback'就可以了吗? 'dialog.getWindow()。getDecorView()。performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY)' – 2013-04-24 13:08:47

+0

不知道这个..谢谢!有效! =) – idog 2013-04-24 13:43:25

回答

2

你可以写你自己的类来扩展Dialog和/或DialogFragment。

,并添加按钮的回调(或任何你想要执行的振动)

Vibrator v = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE); 
v.vibrate(250); 

您还需要添加的权限android.permission.VIBRATE在您的清单。

为了仅振动,如果用户已经在他的手机的常规设置没有禁用触觉反馈,你可以得到他的选择有:

Settings.System.getInt(Context.getContentResolver(),          
         Settings.System.HAPTIC_FEEDBACK_ENABLED, 0); 
+2

请注意,在这种情况下,您必须向AndroidManifest添加'android.permission.VIBRATE'权限 – 2013-04-24 13:11:56

+0

true :-);添加到答案的清晰度 – Teovald 2013-04-24 13:19:11

+0

它会工作,但我想只在用户启用触觉反馈而不强制他时使用触觉反馈。 – idog 2013-04-24 13:44:49