Groups
Groups
Sign in
Groups
Groups
日本Androidの会
Conversations
About
Send feedback
Help
ソフトウェアキーボード、バーコードリーダの切り替え方法について
507 views
Skip to first unread message
Jenkins
unread,
May 31, 2012, 9:37:50 AM
5/31/12
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to 日本Androidの会
初めまして。
初心者で恐縮ですが、投稿させていただきます。
現在、端末(タブレット OS:3.2.1)にバーコードリーダ(物理入力装置)をUSB接続した状態で、ソフトウェアキーボードとバーコードリーダの
入力切り替えを行いたく、調査を行っているのですが、現状難航しております。
実施いたしました調査アプローチは以下の2つとなっており、それ以外のアプローチ方法が思いつきません。
【1.USB Manager系クラスを用いてのデバイス制御】
当初USB Managerクラスなどで、バーコードリーダを制御ができると思い、USB Managerクラスのソースを用いて確認を行いましたが、
バーコードリーダを挿しても、デバイス認識されずデバイス情報を取得することができませんでした。
(切り分けとして、USBメモリを挿すと、デバイス認識され情報を参照することができました。)
恐らく、バーコードリーダはHID(Human Interface Device)なのでUSB接続と認識してもらえないのかと思い、USB関連のク
ラスの中に、HID制御を行っているメソッドがあるかを調べてみましたが、そのようなメソッドはありませんでした。
【2.Configurationクラスを用いてのデバイス制御】
Configuration内に、hardKeyboardHidden(物理キーボードのステータス), keyboard(ソフトウェアキーボード
のステータス)を保持する個所があったので、ここの設定を変更すれば実現可能かと思い、以下のような処理を用いてConfiguration内に設定値
変更を行いましたが、キーボード間の切り替わりは行われませんでした。
Resources res = getResources();
Configuration config = getResources().getConfiguration();
DisplayMetrics metrics = new DisplayMetrics();
// ソフトウェアキーボード⇒ハードウェアキーボードに切り替え
private void ChangeHardKeyboard(){
config.hardKeyboardHidden = Configuration.HARDKEYBOARDHIDDEN_NO;
config.keyboard=Configuration.KEYBOARD_QWERTY;
res.updateConfiguration(config, metrics);
}
//ハードウェアキーボード⇒ソフトウェアキーボードに切り替え
private void ChangeSoftKeyboard(){
config.hardKeyboardHidden = Configuration.HARDKEYBOARDHIDDEN_YES;
config.keyboard=Configuration.KEYBOARD_NOKEYS;
res.updateConfiguration(config, metrics);
}
何か、良い手段がございましたらご教示願います。
よろしくお願いいたします。
Reply all
Reply to author
Forward
0 new messages