`

android触屏震动以及震动强度修改

 
阅读更多
PhoneWindowManager.java:
在interceptKeyBeforeQueueing函数中
performHapticFeedbackLw(null, HapticFeedbackConstants.VIRTUAL_KEY, false);

这里把false改为true。

public boolean performHapticFeedbackLw(WindowState win, int effectId, boolean always) {
        final boolean hapticsDisabled = Settings.System.getInt(mContext.getContentResolver(),
                Settings.System.HAPTIC_FEEDBACK_ENABLED, 0) == 0;
        if (!always && (hapticsDisabled || mKeyguardMediator.isShowingAndNotHidden())) {
            return false;
        }
        long[] pattern = null;
        switch (effectId) {
            case HapticFeedbackConstants.LONG_PRESS:
                pattern = mLongPressVibePattern;
                break;
            case HapticFeedbackConstants.VIRTUAL_KEY:
                pattern = mVirtualKeyVibePattern;
                break;
            case HapticFeedbackConstants.KEYBOARD_TAP:
                pattern = mKeyboardTapVibePattern;
                break;
            case HapticFeedbackConstants.SAFE_MODE_DISABLED:
                pattern = mSafeModeDisabledVibePattern;
                break;
            case HapticFeedbackConstants.SAFE_MODE_ENABLED:
                pattern = mSafeModeEnabledVibePattern;
                break;
            default:
                return false;
        }
        if (pattern.length == 1) {
            // One-shot vibration
            mVibrator.vibrate(pattern[0]);
        } else {
            // Pattern vibration
            mVibrator.vibrate(pattern, -1);//震动起来,OH!
        }


这里的震动值是从mVirtualKeyVibePattern = getLongIntArray(mContext.getResources(),
                com.android.internal.R.array.config_virtualKeyVibePattern);获得的。

对于震动时间是修改是在对应的xml中
frameworks/base/core/res/res/values/config.xml
    <!-- Vibrator pattern for feedback about touching a virtual key -->
    <integer-array name="config_virtualKeyVibePattern">
        <item>0</item>
        <item>10</item>
        <item>20</item>
        <item>30</item>
    </integer-array>

这个mVibrator是Vibrator.java中的class.
分享到:
评论

相关推荐

    Unity手机震动插件Vibration

    Unity手机震动插件Vibration是一款专为Unity游戏引擎设计的扩展工具,旨在为开发者提供在Android和iOS平台上实现细腻、多样化的设备震动效果。这款插件的出现,使得游戏和其他应用能够利用移动设备的硬件特性,提升...

    android PPT播放控制器,震动提示。

    在Android平台上开发PPT播放控制器时,震动提示功能是一个实用且增强用户体验的细节。这个控制器设计的目的是为了帮助用户在不直接查看设备屏幕的情况下,通过震动反馈了解PPT的播放状态,例如页面切换或者到达幻灯...

    Android-Android的Material设计风格的信号强度视图

    3. **触摸反馈**:在用户触摸信号条时,应有明显的触觉反馈,如颜色的变化或微小的震动,让用户知道他们的操作已被系统接收。 4. **可访问性**:确保视图对所有用户友好,包括视觉障碍的用户。可以添加语音提示或者...

    android手机遥控android机顶盒,实现鼠标、上下左右、震动软件

    本文将详细解析如何使用Android手机作为遥控器来控制Android智能机顶盒,实现类似鼠标、上下左右移动以及震动功能,从而让手机成为机顶盒的全能控制器,特别适用于游戏和其他交互式应用。 首先,实现这一功能的关键...

    android 触屏的震动响应接口调用方法

    在Android应用开发中,触屏震动功能是一种常见的用户体验增强手段,比如在用户点击按钮或执行特定操作时给予反馈。为了实现这一功能,Android系统提供了一个名为`Vibrator`的类,它允许应用控制设备的震动硬件。下面...

    老生常谈Android HapticFeedback(震动反馈)

    当用户在使用触摸屏设备时,这种震动可以增加操作的确认感,特别是在没有视觉或听觉提示的情况下,例如在嘈杂环境中或用户专注于屏幕内容时。 在Android中,实现震动反馈主要有两种方式:一是使用`Vibrator`类,二...

    触摸屏界面设计

    3. 适配与优化:针对不同触摸屏设备进行适配,如iOS和Android的系统差异,以及横竖屏切换的处理。 五、测试与迭代 1. 用户测试:通过A/B测试、用户访谈等方式获取反馈,不断优化界面设计。 2. 性能监控:关注应用...

    A33_Android快速移植指南

    触摸屏的配置是用户交互的重要部分,文档描述了触摸屏配置文件的修改、Android层的配置修改以及驱动使用说明。 #### 3.5 G-Sensor配置 加速度计是移动设备中用于感知运动状态的重要传感器,文档提供了打包配置文件...

    触摸屏更人性化,给别人的感觉就是不一样。

    在Windows、Android、iOS等主流操作系统中,都有专门的触摸屏驱动程序支持。这些驱动程序通常由设备制造商提供,以确保触摸屏能与特定的操作系统无缝配合。 以描述中提到的"ETUsbAw4P_6.8.8_CHS"为例,这可能是一个...

    触摸屏程序

    5. **反馈处理**:如果触摸屏支持触感反馈,驱动程序还会控制设备产生相应的震动或声音反馈,增强用户体验。 6. **故障处理和调试**:驱动程序还负责处理硬件错误,提供故障诊断功能,并可能包含一些调试工具,帮助...

    android Launcher源码

    - Android Launcher的源码通常分为几个主要部分:UI组件(如Grid View)、数据模型(如AppInfo)、适配器(如AppGridAdapter)、事件处理(如触摸事件处理)以及系统服务的交互(如与PackageManager的交互)。...

    Android游戏-愤怒的小鸟(Android studio)

    《Android游戏开发:愤怒的小鸟在Android Studio中的实现》 愤怒的小鸟,这款风靡全球的经典游戏,以其独特的物理弹射玩法和可爱的角色设计吸引了无数玩家。在Android平台上,我们可以通过Android Studio这一强大的...

    手势与震动解锁,针对安卓2.3

    在Android 2.3(Gingerbread)版本中,这种功能的实现需要开发者深入理解Android系统的框架以及触摸事件的处理机制。本文将详细探讨这一技术的核心知识点。 1. **手势解锁原理**: 手势解锁通过捕捉用户在锁屏界面...

    一个震动的退出对话框

    震动不仅是一种视觉反馈,还涉及到触觉反馈,即Haptic Feedback,这在触摸屏设备中尤其重要,它可以增强用户的感知并提供更丰富的交互体验。例如,当对话框震动时,设备可能会同步产生轻微的物理震动,让用户通过...

    Android高级应用源码-android刮奖效果.zip

    通过深入研究这个源码项目,开发者不仅能实现刮奖效果,还能学习到自定义View、图形绘制、触摸事件处理、动画创建等Android开发的重要技能。这个项目是一个很好的实践案例,可以帮助开发者提升Android应用的交互性和...

    android 防android picker

    7. **触摸反馈**: 提供清晰的触摸反馈,如触摸高亮、震动反馈等,是提升用户体验的关键。确保这些反馈与Android的其他组件一致,以保持整体的系统连贯性。 8. **多语言支持**: 如果应用需要支持多语言,确保日期...

    AndAndroid 游戏之拼图源码

    此项目的核心功能包括图片加载、图片切割、随机打乱、拖动操作以及完成验证等,涵盖了Android开发中的多个重要技术点。 二、核心知识点 1. Android Studio环境搭建:项目基于Android Studio开发,了解其工程结构和...

    Android 旋转调节进度控件

    4. 兼容性:确保控件在不同版本的Android系统以及各种屏幕尺寸上都能正常工作。 四、源码学习 在压缩包中的"RotatView"文件,可能包含了一个自定义RotatView类的实现。通过阅读源代码,我们可以更深入地理解其工作...

    android俄罗斯方块源码触屏版 (原创)

    android俄罗斯方块,有详细的注释!界面美观,12生肖组成不同块。有特殊块增加,消减,穿心,炸弹。 背景可选,有声音震动。有首页跑动特效,排行榜,菜单设置等。非常全。上一个版本...

Global site tag (gtag.js) - Google Analytics