Blackberry - использование EventInjector для игнорирования входящего вызова - PullRequest
1 голос
/ 06 сентября 2011

Привет всем! Я пытаюсь использовать EventInjector в своем приложении, чтобы автоматически отклонять все входящие звонки.Мой MainScreen реализует PhoneListener.Ниже мой код

public void callIncoming(int callId) {
            requestForeground();
            final PhoneCall call = Phone.getCall(callId);  
            final String number = call.getDisplayPhoneNumber();  
            System.out.println(number);  
            EventInjector.KeyCodeEvent pressEndKey = new EventInjector.KeyCodeEvent(  
                    KeyCodeEvent.KEY_DOWN, (char) Keypad.KEY_END, 0, 100);  
            EventInjector.KeyCodeEvent releaseEndKey = new EventInjector.KeyCodeEvent(  
                    KeyCodeEvent.KEY_UP, (char) Keypad.KEY_END, 0, 100);

            EventInjector.invokeEvent(pressEndKey);  
            EventInjector.invokeEvent(releaseEndKey);   
        }

Этот код не работает, другими словами, не имеет никакого эффекта.Экран входящего вызова продолжает всплывать и не исчезнет, ​​пока не будет выполнено действие.

1 Ответ

4 голосов
/ 07 сентября 2011

Проверьте эту ссылку, все работает!

http://www.codinguru.com/2011/08/block-incoming-call-in-blackberry.html

public void callIncoming(int callId) {
        final PhoneCall call = Phone.getCall(callId);  
        final String number = call.getDisplayPhoneNumber();  
        System.out.println(number);  

        EventInjector.KeyCodeEvent pressEndKey = new EventInjector.KeyCodeEvent( KeyCodeEvent.KEY_DOWN, (char) Keypad.KEY_END, 0, 100);  
        EventInjector.KeyCodeEvent releaseEndKey = new EventInjector.KeyCodeEvent( KeyCodeEvent.KEY_UP, (char) Keypad.KEY_END, 0, 100);  

        try {  
            Thread.sleep(1000);  
        } catch (InterruptedException e) {  
            // TODO Auto-generated catch block  
        e.printStackTrace();  
        }  
        EventInjector.invokeEvent(pressEndKey);  
        EventInjector.invokeEvent(releaseEndKey);  
    }
...