【问题标题】:How to create a BlackBerry App that access low level hardware?如何创建访问低级硬件的 BlackBerry 应用程序?
【发布时间】:2010-02-15 22:11:07
【问题描述】:

我已经编写了一些黑莓应用程序,但现在我正在尝试编写一个必须以某种低级方式访问硬件(键盘)的应用程序,但我似乎无法找到一种方法来做到这一点,也没有任何在“官方”板上帮助它。

问题是,我需要随时知道黑莓键盘上的“$”键何时被按下,以便我的应用程序(或常驻服务)可以捕捉到它,停止显示“$”字符,如果用户接下来按下一个元音,则为该元音添加一个重音......如果它按下另一个键,只需发回“$”字符+另一个字符。

即'$' + 'a' = á

换句话说,我需要创建一个应用程序或服务,将“$”键转换为重音键,就像典型的非美国 PC 键盘一样。

现在问题来了:整个黑莓操作系统在 Java 虚拟机下工作(有点让 JVM 成为实际的操作系统)。所以你可以想象,为它编写的每个应用程序都是用 Java 编写的。

在他们的 Java 实现中显然有一组特殊的黑莓 api 库,因此开发人员能够访问特定的黑莓功能和特性......但是似乎没有什么东西可以用来完成我的特定任务.

但也许有,但我还没有找到它,因为我还是黑莓编程的新手。

因此,在该注释中,我们将不胜感激任何帮助或评论。

-加布里埃尔·阿隆索。

【问题讨论】:

  • 你从申请 RIM 的工作开始。

标签: blackberry mobile low-level


【解决方案1】:

屏幕需要有焦点才能获得关键事件。

出于安全原因,RIM 不允许对其硬件进行低级别访问。

按住字母键并滚动拇指轮可滚动浏览国际/重音字符、等式符号和其他标记。

Here is the source

【讨论】:

  • 谢谢,Livinloud。我的客户知道这一点,但是这是为商业电子邮件等输入重要字符的一种非常麻烦的方式。只是不够快。这就是为什么我被赋予了编写此类功能的任务。
  • @gaboalonso 如果您想就此事获得更好的答案,我建议您直接联系 RIM。
【解决方案2】:

黑莓不允许执行应用程序,如果它们使用某些 API,更不用说低级编程了。

所有你可以在你的应用程序中使用的键盘处理 - 它是 Java 的可能性。像 KeyListener 接口和 Keypad 类。

【讨论】:

    【解决方案3】:

    这是一个很晚的回复,但是......

    您可以使用 keyChar(屏幕成员和 KeyListenerInterface 的成员)截取任何键 - 对于第一个字母,捕获按下的键。如果它是“$”,请保留它并且不要调用 super.keyChar。如果之前按下 $ ,则在下一个 keyChar (或在没有输入的延迟之后)执行映射,并将设计的字符代码发送到 super.keyChar 调用。如果 keyChar 存在实现问题,可以类似地使用 keyDown 和 keyUp。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-08
      相关资源
      最近更新 更多