使用方法(默认触感反馈是启用的)

  • view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY, HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING);

  • 第二个参数不传HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING全部失效

初步测试结果

  1. 第一个参数传除HapticFeedbackConstants.VIRTUAL_KEY以外的任何参数,不是震动比它小就是没有震动。
  2. 第二个参数传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为一直震动    

更多相关文章

  1. Android之View的视图测量过程
  2. Android实现倒计时启动功能的实现
  3. Android(安卓)Camera中参数设置
  4. Android(安卓)剪切板ClipboardManager过时问题
  5. Android(Java):Android(安卓)jni学习(二)
  6. android PreferenceActivity 配置Activity
  7. Android(安卓)手机震动功能实现
  8. mybatisplus的坑 insert标签insert into select无参数问题的解决
  9. Python技巧匿名函数、回调函数和高阶函数

随机推荐

  1. Android的adb命令介绍
  2. Android支付封装(微信+支付宝)
  3. Android(安卓)Gesture 手势识别使用实例
  4. Android对emoji表情的处理
  5. Android配置build.gradle实现Version Cod
  6. Android(安卓)View相关-View的绘制流程浅
  7. Android(安卓)NDK——实战演练之使用Andr
  8. 深入浅出android/ophone UI实现水平布局
  9. Android(安卓)Spinner
  10. 拥抱Android