自定义键盘快捷键

2023-11-27

I want my app to support keyboard shortcuts. Many devices, such as Asus Transformer have external keyboard which has Ctrl key (available on API Level 11). I've made some code, to check if Ctrl key works in emulator:

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    if(Build.VERSION.SDK_INT>10 &&
        event.getAction()==KeyEvent.ACTION_DOWN &&
        event.isCtrlPressed()){
    String actionType="NONE";
    final int keyCode = event.getKeyCode();
    switch(keyCode){
    case KeyEvent.KEYCODE_C:
        actionType = "COPY";
        break;
    case KeyEvent.KEYCODE_V:
        actionType = "PASTE";
        break;
    case KeyEvent.KEYCODE_X:
        actionType = "CUT";
        break;
    case KeyEvent.KEYCODE_R:
        actionType = "REFRESH";
        break;
    case KeyEvent.KEYCODE_A:
        actionType = "SELECT ALL";
        break;
    }
    Toast.makeText(ctx, actionType, Toast.LENGTH_SHORT).show();
    return true;
    }
    return super.dispatchKeyEvent(event);
}

不幸的是,它在模拟器中不起作用,我无法在真实硬件上检查它。

I have two questions:
1. Would it work on device like Asus Transformer?
2. Why Ctrl key does not work in emulator?

编辑:我试图找到问题的答案或解决方案,但谷歌和SO都没有帮助。


1. 它可以在像 Asus Transformer 这样的设备上使用吗?

我已经检查过我的华硕变压器TF101带物理键盘(标准扩展坞Asus) and 你的代码工作正常。我认为您可以毫无问题地使用它。

2. 为什么CTRL键在模拟器中不起作用?

看着可以映射的按钮列表(例如使用emulator -keyset)我认为当前版本的模拟器不支持直接Ctrl键映射,所以你在这里运气不好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义键盘快捷键 的相关文章

  • 生产中偶尔会发生 android.webkit.WebView 类膨胀错误

    我的应用程序在 Google Play 上 它在大多数设备 数千个用户 上运行良好 但在极少数情况下 占每日活跃用户百分比的一小部分 我得到Error inflating class android webkit WebView当我为我的片
  • Android 布局不需要的填充

    所以我有这个布局文件 如下 正如您所看到的 没有填充或边距 dimen xml 文件也没有任何填充 边距 最后 我根本不以编程方式更改布局
  • PHP服务器端IAB验证openssl_verify总是返回0

    我使用以下函数 服务器端 php 来验证 IAB v3 事务 我从 Android 应用程序传递过来 Override protected void onActivityResult int requestCode int resultCo
  • 居中复选框视图

    如果除了 或代替 复选框之外 您还对单选按钮感兴趣 请参阅this https stackoverflow com questions 16701806 centering views 2而是提问 尽管存在
  • 在Android内存中存储gif图像

    我对安卓还很陌生 我想将图像保存到内存中 然后从内存中检索图像并将其加载到图像视图中 我已使用以下代码成功将图像存储在内存中 void saveImage String fileName img cnt jpg File file new
  • Notification.Builder 中 setGroup() 的用途是什么?

    我对目标的理解有些困难setGroup http developer android com reference android app Notification Builder html setGroup java lang String
  • Android-全屏视频视图

    我正在尝试使此 VideoView 以全屏模式显示 public class ViewVideo extends Activity private String filename private static final int INSER
  • 无法找到/下载 AppCompat-v7:23.1.1

    怎么了 我遇到了很多 找不到 appcompat v7 23 1 1 的问题 许多解决方案都不起作用 经过几个小时的思考和寻找答案 我遇到了一个奇怪的问题 I have gotAndroid 支持库 23 1 1 已安装 所有功能 exce
  • 如何找到特定路线上两点之间的距离?

    我正在为我的大学开发一个 Android 应用程序 可以帮助学生跟踪大学巴士的当前位置 并为他们提供巴士到达他们的预计时间 截至目前 我获取了公交车的当前位置 通过公交车上的设备 和学生的位置 我陷入了必须找到两个 GPS 坐标之间的距离的
  • 仅在 Android 应用程序中使用 XHDPI 可绘制对象?

    如果您计划在不久的将来支持 LDPI MDPI HPDI 或许还有 XHDPI 那么是否可以在项目中仅包含 XHDPI 可绘制对象并让设备将其缩放到所需的分辨率 我已经测试过在 Photoshop 中将可绘制对象的大小调整为 MDPI 和
  • 返回主要活动(意图)时传递数据我做错了什么?

    我是安卓新手 这可能是最简单的问题 但我不明白这里出了什么问题 我试图创建一个通过意图传递值的基本示例 因此 当我关闭第二个活动时 我需要将数据传递到主活动 这是代码 意图测试1 主要活动 public void onClick View
  • 从 Handler.obtainMessage() 获取什么参数

    我正在使用线程来执行一些 BT 任务 我正在尝试向 UI 线程发送消息 以便我可以基于我的 BT 线程执行 UI 工作 为此 我使用处理程序 但我不知道如何检索发送到处理程序的数据 要发送数据 我使用 handler obtainMessa
  • Android 26 (O) 通知不显示操作图标 [重复]

    这个问题在这里已经有答案了 随着 Android 26 O 引入通知渠道 我一直在调查 Google 提供的com example android notificationchannels 这个示例按预期工作 直到我尝试添加Action到示
  • 无法在 Java 中输出正确的哈希值。怎么了?

    在我的 Android 应用程序中 我有一个 SHA256 哈希值 我必须使用 RIPEMD160 消息摘要算法进一步对其进行哈希值 我可以输出任何字符串的正确 sha256 和ripemd160 哈希值 但是当我尝试使用ripemd160
  • 确定视图是否在屏幕上 - Android

    我对这个有点困惑 首先也是最重要的是 以下链接很有用 但是我提出了一些可见性问题 链接 检查视图可见性 https stackoverflow com questions 4628800 android how to check if a
  • 如何在 Android 中保存 Edittext 中的文本而不丢失文本的粗体、斜体等功能

    我想做的就是从 Edittext 中获取文本 该文本具有粗体和斜体等功能 并将其保存在文本文件中 但是当我读回并显示它时 这些功能丢失了 它们不显示 如何通过将文本保存在文本文件或任何文件中来保持丰富的功能 您可以使用Html toHtml
  • Android UnityPlayerActivity 操作栏

    我正在构建一个 Android 应用程序 其中包含 Unity 3d 交互体验 我已将 Unity 项目导入 Android Studio 但启动时该 Activity 是全屏的 并且不显示 Android 操作栏 我怎样才能做到这一点 整
  • Android BLE 扫描永远找不到设备

    几天以来 我尝试在我的应用程序中实现 BLE 连接 我知道我尝试连接的设备功能齐全 因此问题一定是我的代码 我用BluetoothLeScanner startScan 方法 但回调方法永远不会被调用 public void startSc
  • firebase中按范围查询

    我有一个食品价格范围滑块 根据滑块的最小值和最大值 我想显示此范围内的食品 滑块代码 multiSlider setOnThumbValueChangeListener new MultiSlider SimpleChangeListene
  • 我可以通过在 Android Activity 中声明适当的成员“静态”来提高效率吗

    如果一个 Activity 在实践中是单例 我认为我可以通过声明适当的成员 静态 来获得一些效率 且风险为零 是的 The Android 文档说 http developer android com guide topics fundam

随机推荐

  • Visual Studio 2013 安装 microsoft.net Framework 4.51 时出错

    我在安装 vs 2013 时遇到问题 下图显示了错误 我在 Google 上进行了大量研究 发现在 Windows 8 1 上 net Framework 4 5 1 现在已经成为操作系统的一部分 当 VS 2013 尝试安装 net Fr
  • 如何避免 nginx 在用作代理(proxy_pass)时用空格替换 %20 ?

    我使用 nginx 作为 apache 服务器的代理 这是我的配置 location subsite proxy pass http 127 0 0 1 subsite 1 query string 问题是 如果我发送带有 20 的请求 例
  • iPhone:通过本地通知增加应用程序徽章

    当应用程序未运行时 是否可以通过本地通知增加应用程序徽章 我知道如何设置徽章 但还没有找到任何方法来增加这个值 localNotification applicationIconBadgeNumber 23 Update 我找到了一个 远非
  • Oracle SQL 获取第 n 个元素正则表达式

    我正在尝试使用 Oracle 中的 SQL 获取逗号分隔字符串中的第 n 个元素 到目前为止我有以下 SELECT regexp substr 100016154 5101884LT00001 10000001089210000001265
  • WCF 自定义 Http 代理身份验证

    是否可以为 WCF 提供自定义代理地址和自定义凭据 我在 stackoverflow 上找到了这个答案 如何使用生成的 WCF 客户端的凭据设置代理 但我遇到了一个复杂的问题 我要进行身份验证的服务使用自己的身份验证 因此我必须使用两组凭据
  • Azure Ad b2c:通过邀请添加新成员用户

    我有一个Azure 广告 B2C在 Azure 上运行 我想在 B2C 中创建带有邀请的用户 我尝试创建来宾用户 但该用户无法登录 因为该用户是作为 B2B 用户创建的 我也尝试过手动添加用户 但我无法添加自己的域 例如 电子邮件受保护 但
  • Json.net 反序列化具有非字符串键类型的嵌套字典

    我正在使用 Json NET 反序列化一个对象 其中包含具有自定义 非字符串 键类型的嵌套字典 这是我正在尝试做的事情的示例 public interface IInterface String Name get set public cl
  • javascript - 比较不同格式的日期

    我有两个日期 我需要比较它们 看看其中一个是否大于另一个 但它们的格式不同 我不确定比较两个日期的最佳方法 格式为 1381308375118 这是 var futureDate 这是由创建的 var today new Date toda
  • 如何从自定义按钮调用数据表 csv 按钮

    需要从我的自定义按钮调用 csv 按钮
  • 网络音频启动和停止振荡器然后再次启动

    我正在尝试启动和停止声音 那行得通 但我无法再次启动声音 我真的需要再次制作另一个振荡器吗 这看起来非常不直观 一定会有更好的办法 这就是我所拥有的一切 oscillator1 noteOn 0 oscillator1 noteOff 0
  • PHPSESSID 未保存到 cookie

    保存会话 ID 的 PHPSESSID 变量未保存到客户端 cookie 中 这会导致每次我调用时都会生成一个新的会话 IDsession start 功能 当我使用 FireFox Opera 和 Chrome 时 情况就是如此 对于 s
  • 将JSON数据插入到android中的SQLite数据库中

    我想将 JSON 数组中的数据插入到 SQLite 数据库中 我创建了两个类 CategoryHelper java 和 AndroidJSONParsingActivity java 来获取 java 响应 当我运行代码时出现异常data
  • 如何将 boost::serialize 转换为 sqlite::blob?

    我正在从事一个科学项目 需要多种程序能力 在寻找可用的工具后 我决定使用 Boost 库 它为我提供了 C 标准库未提供的所需功能 例如日期 时间管理等 我的项目是一组命令行 它处理来自旧的 自制的 基于纯文本文件的数据库的大量数据 导入
  • 3d numpy 数组的众数/中值/平均值

    我有一个 3d numpy 数组 我的目标是获取它的平均值 众数 中位数 它的形状为 500 300 3 我想得到例如 430 232 22 作为模式 有没有办法做到这一点 标准 np mean array 给了我一个非常大的数组 我不知道
  • Java 监听器必须继承自 java.util.EventListener - 为什么?

    在javadoc中它说EventListener是 所有事件侦听器接口都必须扩展的标记接口 这是为什么 让自定义监听器实现EventListener有什么意义 是否有对 EventListener 进行特殊处理的地方 可能被使用过javab
  • PHP 可调用对象作为对象成员

    我有课Logger其中 除其他外 还有一个方法Log As Log最常见的用途是Logger例如 我已经有线 invoke打电话Log 另一个类 Site 包含一个成员 Log 它是 Logger 的一个实例 为什么这会起作用 Log th
  • 如何在 jquery 插件中对私有方法进行单元测试?

    也许这是一个有点新手的 JQuery 问题 但是 正确的 jquery 插件是写在闭包内的 因此只有定义插件接口的方法才能从外部访问 有时 或很多时候 人们可能需要辅助方法 而将其作为插件接口的一部分公开是没有意义的 例如 因为它们会改变内
  • 如何从 Go 上的请求正文中获取 JSON

    我是 Go 的新手 但到目前为止我非常喜欢它 我有一个问题我无法弄清楚 我正在将 API 从 Node 迁移到 Go 并且有一个日志 我必须在其中捕获 POST 的正文AS IT IS并将其保存到jsonb在 Postgresql 数据库中
  • Delphi 中嵌入 DB 的全文搜索

    我们正在创建一个开源推特客户端并正在寻找一个嵌入式数据库尽可能最小的占地面积与 Delphi 配合使用并且非常适合全文搜索 我知道这不太适合小足迹 理想情况下 它也应该是免费或开源的 我知道这要求很高 我倾向于SQLite 但我以前没有使用
  • 自定义键盘快捷键

    I want my app to support keyboard shortcuts Many devices such as Asus Transformer have external keyboard which has Ctrl