Android(安卓)HapticFeedback触感反馈
16lz
2022-05-29
使用方法(默认触感反馈是启用的)
-
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY, HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING);
-
第二个参数不传
HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING
全部失效
初步测试结果
- 第一个参数传除
HapticFeedbackConstants.VIRTUAL_KEY
以外的任何参数,不是震动比它小就是没有震动。 - 第二个参数传
HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING)
(即忽略全局设置)以外的参数或者不传,也没有震动。
替代方法
实际上 HapticFeedback 也是调用的Vibrate震动引擎,只是Android系统内定义好了几种比较好的震动效果,而且HapticFeedback不需要震动权限。
如果有权限:
//取得震动服务 Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); if (vibrator != null) { vibrator.vibrate(new long[]{0,10},-1); }
实测 Smartisan R1 在震动时间为10ms的情况下已经有较重的划栏杆
的感觉了。
vibrate()里面是个long数组加一个重复模式,大概意思是(参考文章):
开始震动有两个接口 1 . vibrator.vibrate(2000);//震动指定时间 ,数据类型long,单位为毫秒,一毫秒为1/1000秒 2. vibrator.vibrate(new long[]{100,10,100,1000}, -1);//按照指定的模式去震动。数组参数意义:第一个参数为等待指定时间后开始震动,震动时间为第二个参数。后边的参数依次为等待震动和震动的时间第二个参数为重复次数,-1为不重复,0为一直震动
更多相关文章
- Android之View的视图测量过程
- Android实现倒计时启动功能的实现
- Android(安卓)Camera中参数设置
- Android(安卓)剪切板ClipboardManager过时问题
- Android(Java):Android(安卓)jni学习(二)
- android PreferenceActivity 配置Activity
- Android(安卓)手机震动功能实现
- mybatisplus的坑 insert标签insert into select无参数问题的解决
- Python技巧匿名函数、回调函数和高阶函数