Blackberry - EventInjector 激活扬声器
Posted
技术标签:
【中文标题】Blackberry - EventInjector 激活扬声器【英文标题】:Blackberry - EventInjector to activate speaker 【发布时间】:2011-10-28 11:50:31 【问题描述】:我正在尝试为来电激活免提电话。我能够通过 EventInjector.KeyCodeEvent 以编程方式接听来电,但我无法使用 KeyCodeEvent 打开免提电话。
我通过以下方法注册了Phone listener。
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);
【问题讨论】:
您的 KeyCodeEvent 代码执行时实际发生了什么? 【参考方案1】:尝试在线程中使用您的代码,并在调用密钥之间使用 Thread.sleep(100),就像这样。
这可能会起作用
EventInjector.invokeEvent(speakerKeyDown);
Thread.sleep(100);
EventInjector.invokeEvent(speakerKeyUp);
Thread.sleep(100);
【讨论】:
它仍然无法正常工作。如何在引入上述代码后静音被激活而不是免提电话。 之前有时它会激活静音键,但现在静音键总是被激活。【参考方案2】:要激活扬声器,您可以使用以下代码:
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);
tryThread.sleep(500);catch(Exception e)
EventInjector.invokeEvent(speakerKeyUp);
【讨论】:
以上是关于Blackberry - EventInjector 激活扬声器的主要内容,如果未能解决你的问题,请参考以下文章
将 FMS RTMP 直播流转换为 BlackBerry 的 RTSP