【问题标题】:Global keyevent logger for application in android用于 android 应用程序的全局键事件记录器
【发布时间】:2013-10-06 04:23:10
【问题描述】:

我有一个活动类如下:

public class MyActivity extends Activity implements OnTouchListener {}

整个课程很长,有一些很好的视图深度(主要是 webview)。我正在尝试为这个类实现一个全局键事件记录器。我试图为主视图设置 keylistener 但无法设置它,因为我认为我没有扩展 OnKeyListener 类?我得到的错误是

The method is the type view is not applicable for MyActivity

我还重写了不收集任何数据的 OnKeyDown 方法:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    Log.i("Key Pressed: ", keyCode+" = number");
}

那么,我应该通过什么方式来获取我的活动中发生的所有关键事件?我现在几乎一无所知。非常感谢您的帮助。

编辑: 我只寻找所有软键盘事件。 (对不起,我忘了提...)

【问题讨论】:

    标签: android


    【解决方案1】:

    好的,我明白了。你想知道他们输入了哪个字符。
    如果他们输入 a.b. 或 c。你想知道他们输入的是 a.b.or c.
    当你使用 SearchVIew 时。你可以设置一个改变字符的监听器。
    所以我认为你可以按照这种方式。

    • 你想知道用户类型,所以你必须接收用户类型。
      可能你需要像 EditText 这样的东西。
      看TextView源码(因为EditText扩展了TextView和EditText,TextView做的最多的就是处理InputMethodManager)

    • 然后设置一个关于角色改变的监听器。

    • 这样我想你会知道输入哪种字符

    【讨论】:

    • 抱歉忘记提了。但我只在寻找软键盘事件。
    • 软键盘?输入词?如果我输入 a.b.或 c。你想知道我输入的是 a.b.还是 c?我说的对吗?
    • 是的,这是正确的。我想知道软键盘输入的字符。
    • 我能够在 EditText 上实现这一点,但我不能对 WebView 做同样的事情......在 WebView 的情况下是否有不同的程序来执行此操作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    相关资源
    最近更新 更多