我正在尝试在应用程序中创建一个锁定屏幕,以便当用户(远程)请求它时,手机将使用预设密码锁定自己。
我正在尝试使用 onKeyPreIme 方法,因为我读到 onKeyDown() 和其他相关方法有时会在 android 系统执行默认操作后被消耗(可能很少见,但可能)。
我让我的代码扩展了 View 而不是 Activity 并让 onKeyPreIme 工作,但此时没有其他编码可以工作,因为我需要为此扩展 Activity。我也尝试实现 KeyEvent.Callback 但这并没有改变任何东西。我在 Eclipse 中检查了我的设置,它是基于 java 1.6 开发的,我的 android 插件和我的 Eclipse 一样是完全最新的。我拥有的 Eclipse 是面向 Java Developers 的 Eclipse IDE,还有面向 Java EE Developers 和 Eclipse Classic 的 Eclipse IDE。我想知道这两个是否会有所不同?
我最初在 Eclipse 中构建了这个项目,所以它没有从其他任何地方导入,所以我知道这不是问题。
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
//do my work here
return super.onKeyPreIme(keyCode, event);
}
我尝试不覆盖,但当然这没有做任何事情,而且我还得到“返回 super.onKeyPreIme”的“方法 onKeyPreIme(int, KeyEvent) 未定义类型 Activity”
我不知道该怎么做才能让 onKeyPreIme 正常工作。
如果我不能让它工作,那么使用 onKeyDown (以及 onKeyUp 和 onKeyLongPress)会有什么缺点吗?
有人对如何让 OnKeyPreIme 正常工作有任何想法吗?