`

自定义全局快捷键

阅读更多
在Activity类onKeyDown方法中进入拦截事件
    public boolean onKeyDown(int keyCode, KeyEvent event)  {
    Log.i("key down", "key code:"+event.getKeyCode());
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            if (getApplicationInfo().targetSdkVersion
                    >= Build.VERSION_CODES.ECLAIR) {
                event.startTracking();
            } else {
                onBackPressed();
            }
            return true;
        }else if(keyCode == 7){ (快捷键code=7,定位到桌面时钟)
            ComponentName cmp = new ComponentName("com.android.deskclock", "com.android.deskclock.DeskClock");
            Intent intent = new Intent();
            intent.setComponent(cmp);
            startActivity(intent);
            return true;
        }else if(keyCode == 42){
            ComponentName cmp = new ComponentName("com.autonavi.routedemo", "com.autonavi.routedemo.Main");
            Intent intent = new Intent();
            intent.setComponent(cmp);
            startActivity(intent);
            return true;
        }else if(keyCode == 31){(快捷键code=31,定位到日历)
            ComponentName cmp = new ComponentName("com.android.calendar", "com.android.calendar.LaunchActivity");
            Intent intent = new Intent();
            intent.setComponent(cmp);
            startActivity(intent);
            return true;
        }else if(keyCode == KeyEvent.KEYCODE_X){(快捷键X,静音/取消静音)
            Log.i("activity onkeydown", "you have clicked the x key");
                      
            AudioManager mAudioManager = (AudioManager)getSystemService(Service.AUDIO_SERVICE);
            Log.i("activity onkeydown RingerMode before:", ""+mAudioManager.getRingerMode());
    boolean state = ((mAudioManager.getRingerMode()&2)==0)?false:true;
            Log.i("activity onkeydown state", ""+state);
    mAudioManager.setStreamMute(AudioManager.STREAM_MUSIC,state);
            mAudioManager.setRingerMode(state==false?2:1);
            Log.i("activity onkeydown RingerMode after:", ""+mAudioManager.getRingerMode());
            return true;
        }else if(keyCode == KeyEvent.KEYCODE_EQUALS){(快速启动播放器)
            Log.i("activity onkeydown", "you have clicked the KEYCODE_EQUALS key:"+KeyEvent.KEYCODE_EQUALS);
                      
            AudioManager mAudioManager = (AudioManager)getSystemService(Service.AUDIO_SERVICE);
            mAudioManager.setStreamMute(AudioManager.STREAM_MUSIC,false);
            mAudioManager.setRingerMode(2);
    mAudioManager.adjustVolume(AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
            return true;
        }else if(keyCode == KeyEvent.KEYCODE_MINUS){
            Log.i("activity onkeydown", "you have clicked the KEYCODE_MINUS key:"+KeyEvent.KEYCODE_MINUS);       
            AudioManager mAudioManager = (AudioManager)getSystemService(Service.AUDIO_SERVICE);
            mAudioManager.adjustVolume(AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
            return true;
        }
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    c# windos 自定义全局快捷键

    在.NET开发中,创建一个全局快捷键系统可以让用户通过自定义的快捷键组合来触发特定的功能,这在各种应用程序中非常常见。本教程将聚焦于使用C#实现Windows全局快捷键,涉及的主要技术包括XML操作和WinAPI调用。 ...

    WPF 全局快捷键 GlobalHotKeyDemo

    **WPF全局快捷键(GlobalHotKey)详解** 在Windows Presentation Foundation (WPF)应用程序中,全局快捷键(Global Hotkeys)允许用户在不与应用程序窗口交互的情况下触发特定功能。这通常用于实现像“Ctrl+Alt+S”...

    修改计算机全局快捷键

    本主题将详细介绍如何在Windows操作系统中自定义和修改全局快捷键。 【描述】: 修改计算机全局快捷键是一项实用技能,它允许用户根据个人习惯或特定需求定制快捷方式。通过设置全局快捷键,我们可以快速启动应用...

    Qt全局快捷键2.zip

    在本文中,我们将深入探讨如何在Qt环境中实现全局快捷键功能,这在开发跨平台的桌面应用程序时非常有用。Qt是一个强大的C++图形用户界面工具包,它提供了丰富的功能,包括创建可自定义的快捷键,即使软件最小化也能...

    delphixe设置全局快捷键

    在Delphi XE系列开发环境中,设置全局快捷键是一项实用的功能,它可以帮助开发者提高编码效率,快速执行常用操作。下面将详细介绍如何在Delphi XE中配置和使用全局快捷键。 1. **打开键盘映射设置** 首先,你需要...

    C# WinForm中实现快捷键自定义设置实例

    项目开发过程中,需要实现类似有道词典的软件设置中的自定义快捷键功能,如下图所示: 当我们相继按下Ctrl+Alt+M的时候,软件就会自动将快捷键显示在文本框中。 最终的效果如下图所示: 核心代码如下所示: 复制...

    macOS 全局快捷键实现.zip

    在macOS系统中,全局快捷键(Global Hotkeys)是一种高效的工作方式,它允许用户通过自定义的快捷键组合来触发各种操作,无论当前聚焦在哪个应用上。本开源项目"macOS 全局快捷键实现.zip"提供了一个名为"HotKey-...

    使用C#注册全局快捷键

    全局快捷键,也称为全局热键或全局快捷键,允许用户在任何应用程序甚至应用程序未处于焦点状态下通过特定的键盘组合来触发特定的操作。这在各种软件开发中非常常见,例如多媒体播放器、系统工具或者自定义快捷操作的...

    任忌热键管理程序(自己使用c#写的快捷启动软件)源码

    •支持自己设置快捷键 •支持通过按键来打开指定的软件 •支持删除功能 •支持通过鼠标打开程序 •系统默认添加快捷键 •支持开机启动 •添加了关闭功能 •新曾功能shift+esc 隐藏或显示界面 •新增检测重复...

    C#全局快捷键定义 C#隐藏

    在C#编程中,全局快捷键的定义是一个重要的功能,它允许用户通过键盘组合来快速执行特定的操作,提高开发效率。全局快捷键不仅限于应用程序内部,还可以在整个操作系统中生效,只要应用程序处于活动状态。本篇文章将...

    C#键盘钩子实现全局快捷键.pdf

    在实现全局快捷键时,会利用此函数将自定义的钩子函数注册到系统中。 5. HookProc委托:这是一个钩子回调函数的委托类型。编写键盘钩子程序时,需要实现这个委托类型的回调函数来处理捕获到的键盘事件。 6. ...

    Light Alloy播放器4.8官网中文版.rar

    程序的系统资源和内存占用率很少,软件内置了影音解码器,即使不安装解码器也可以播放当前绝大多数视频文件,是一款很有潜力的媒体播放器,你可以自定义全局快捷键及文件关联。程序支持多国语言,解压后直接打开LA....

    Github获8300星!用Python开发的一个命令行的网易云音乐

    最近在逛Github发现了一个非常有趣的库musicbox,是用纯Python打造的,收获了8300颗星。Python语言简单易学,好玩有趣,身边越来越多的小伙伴都开始学习Python。她的魅力非常大,不仅长期霸占...可使用自定义全局快捷键

    快捷键全局热键响应进程查看

    这时,就需要使用到描述中提到的工具——“查看全局快捷键响应进程的工具”。这类工具可以帮助用户找出是哪个进程在响应或冲突,以便进行问题排查和解决。 描述中的“打开程序,按全局热键,这个程序会显示响应进程...

    Qt 5.1 ctrl ctrl 启动

    在"Qt 5.1 ctrl ctrl 启动"这个主题中,我们聚焦的是如何利用Qt 5.1版本创建自定义全局快捷键,特别是以"Ctrl+Ctrl"为组合键的快捷方式。这种功能对于提高用户交互性和效率至关重要,尤其在桌面应用中,快捷键可以...

    在Winform和WPF中注册全局快捷键实现思路及代码

    在Winform和WPF应用中,全局快捷键的注册是一个实用的功能,它允许用户通过特定的按键组合来快速执行程序中的某些操作。全局快捷键的实现涉及到Windows API的调用,以及.NET框架的相关支持。 首先,我们需要了解...

    Winform自定义快捷键

    在实际开发中,可以根据需求进行调整和扩展,例如,可以创建一个全局的快捷键管理器,统一处理所有快捷键事件,或者为不同的窗体设置不同的快捷键策略。理解并掌握快捷键的实现原理,对于提升.NET桌面应用的用户体验...

    vb6全局热键ocx控件

    全局热键,也称为系统热键或快捷键,允许用户在任何应用程序或操作系统界面下通过按下特定的键盘组合来触发某个操作。例如,Ctrl + C 和 Ctrl + V 是常见的复制和粘贴热键。开发者不再使用VB6,而是转向了Visual ...

    在几分钟内将用户可自定义的全局键盘快捷键添加到您的macOS应用-Swift开发

    在几分钟内将用户可自定义的全局键盘快捷键添加到您的macOS应用程序中。此软件包可让您在几分钟内将对用户可自定义的全局键盘快捷键添加到macOS应用程序的支持。 它与沙盒完全兼容,并且与Mac App Store兼容。 并由...

Global site tag (gtag.js) - Google Analytics