Blackberry - EventInjector для активации динамика - PullRequest
1 голос
/ 28 октября 2011

Я пытаюсь активировать громкую связь для входящего звонка.Я могу принять входящий вызов программно через 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);

Ответы [ 2 ]

0 голосов
/ 29 декабря 2011

Для активации громкоговорителя вы можете использовать этот код:

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);
0 голосов
/ 31 октября 2011

Попробуйте использовать свой код в потоке и использовать Thread.sleep (100) между вызовами ключа, как это.

Возможно, это будет работать

EventInjector.invokeEvent(speakerKeyDown);
Thread.sleep(100);
EventInjector.invokeEvent(speakerKeyUp);
Thread.sleep(100);
...