0

ハードウェアメニューボタンを長押しすると、キーボードがどのようにポップアップするかを知りたいです。サービスではキー リスナーを使用できないと読みました。では、メニュー ボタンによってキーボードが表示されるのは、どのように正確でしょうか?

編集

私の質問は少し支離滅裂に思えるので、これが私の言いたいことです。

アプリ ドロワーでメニュー ボタンを長押しすると、キーボードがポップアップします。または、アプリを使用しているときにメニュー ボタンをもう一度長押しすると、キーボードが表示されます。

したがって、それはキーボード サービスであると想定していますが、サービスにはキー リスナーがありません。

これはどのように可能ですか?

4

3 に答える 3

0

このコードをボタンリスナーに配置します

スクリーンキーボードを表示したい場合

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

あなたがそれを隠したいなら

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
于 2013-01-07T10:03:40.320 に答える
0
@Override
public boolean onKeyLongPress(int keycode, KeyEvent event){         
    if (keycode == KeyEvent.KEYCODE_MENU){    
        InputMethodManager inputMethodManager=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        inputMethodManager.showSoftInput(lv, InputMethodManager.SHOW_IMPLICIT);             
    }
    return true;
}
于 2013-01-07T10:06:26.967 に答える
0

Android の Service に keyListener を追加する方法はありません。メニューボタンは私のキーボードをトリガーします。これはカスタム mod であり、機能がフレームワーク自体に埋め込まれているためです。サービスキーリスナーやその他の理論によるものではありません。

興味がある方は、CM7.2.0-buzz を使用しています。

于 2013-01-12T03:40:16.677 に答える