ユーザーが(リモートで)要求したときに電話が事前設定されたパスワードでロックされるように、アプリでロック画面を作成しようとしています。
Androidシステムがデフォルトのアクションを実行した後、onKeyDown()およびその他の関連メソッドが消費されることがあると読んだため、onKeyPreImeメソッドを使用しようとしています(まれかもしれませんが、可能です)。
コードで Activity の代わりに View を拡張し、onKeyPreIme が機能するようにしましたが、Activity を拡張する必要があったため、その時点で他のコーディングは機能しませんでした。KeyEvent.Callback も実装してみましたが、何も変わりません。Eclipse で設定を確認したところ、Java 1.6 に基づいて開発されており、Android プラグインは Eclipse と同様に完全に最新の状態になっています。私が持っている Eclipse は、Java 開発者向けの Eclipse IDE です。また、Java EE 開発者向けの Eclipse IDE と Eclipse Classic もあります。どちらかが違うのだろうか?
最初にこのプロジェクトを Eclipse でビルドしたので、他の場所からインポートされたわけではないので、問題ないことはわかっています。
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
//do my work here
return super.onKeyPreIme(keyCode, event);
}
オーバーライドしないようにしましたが、もちろん何もしません。また、「return super.onKeyPreIme」の「メソッド onKeyPreIme(int, KeyEvent) はタイプ アクティビティに対して未定義です」も取得します。
onKeyPreIme を機能させるために何をすべきか途方に暮れています。
うまくいかない場合、代わりに onKeyDown (および onKeyUp と onKeyLongPress) を使用することの欠点はありますか?
OnKeyPreIme を適切に動作させる方法について何か考えがある人はいますか?