1

着信時にスピーカーフォンをアクティブにしようとしています。EventInjector.KeyCodeEventを介してプログラムで着信を受け入れることはできますが、KeyCodeEventを使用してスピーカーフォンをオンにすることはできません。

次の方法で電話リスナーに登録しました。

Phone.addPhoneListener(instance);

callConnected次に、次の方法でスピーカーをアクティブにしてみます。

EventInjector.KeyCodeEvent speakerKeyDown = 
    new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_DOWN,
        (char) Keypad.KEY_SPEAKERPHONE, KeypadListener.STATUS_NOT_FROM_KEYPAD);
EventInjector.KeyCodeEvent speakerKeyUp = 
    new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_UP,
        (char) Keypad.KEY_SPEAKERPHONE, KeypadListener.STATUS_NOT_FROM_KEYPAD);
EventInjector.invokeEvent(speakerKeyDown);
EventInjector.invokeEvent(speakerKeyUp);
4

2 に答える 2

0

スレッド内でコードを使用し、そのようにキーを呼び出す間に Thread.sleep(100) を使用してみてください。

これでうまくいくかな

EventInjector.invokeEvent(speakerKeyDown);
Thread.sleep(100);
EventInjector.invokeEvent(speakerKeyUp);
Thread.sleep(100);
于 2011-10-31T10:27:14.090 に答える
0

ラウドスピーカーを有効にするには、次のコードを使用できます。

EventInjector.KeyCodeEvent speakerKeyDown =  new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_DOWN,(char)Keypad.key(2359296),KeypadListener.STATUS_NOT_FROM_KEYPAD);
EventInjector.KeyCodeEvent speakerKeyUp   =  new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_UP,(char)Keypad.key(2359296),KeypadListener.STATUS_NOT_FROM_KEYPAD);
EventInjector.invokeEvent(speakerKeyDown);
try{Thread.sleep(500);}catch(Exception e){}
EventInjector.invokeEvent(speakerKeyUp);
于 2011-12-29T09:56:04.043 に答える