브라우저를 닫으려면 블랙 베리의 브라우저에서 eventinjector를 어떻게 사용합니까? 브라우저가로드 될 때 핸드 헬드에서 눌려지는 ESCAPE 키를 시뮬레이션하여 앱이 브라우저를 종료하고 기본 화면으로 돌아가도록 시뮬레이션하려고합니다. 나는이 일을 스스로 시도했지만 성공하지 못했습니다. 어떤 도움이라도 대단히 감사 할 것입니다.브라우저의 EventInjector
0
A
답변
2
브라우저를 실제로 제어하려는 경우 BrowserField
, BrowserField2
을 앱에 사용할 수 있습니다.
키를 누르거나 현재 볼 수있는 앱을 추적하기 위해 수신기를 삽입 할 수도 있습니다. 사용자가 자주 앱을 전환하고 터치 인터페이스가있는 기기가 많이 있으므로 (사용자가 esc 버튼없이 페이지를 닫을 수 있기 때문에) 매우 까다로운 작업입니다.
1
브라우저를 닫으려면,하지만 난 당신이 또한 오이겐 이미 앱 내에서 사용자 찾아 보자하는 BrowserField
을 사용할 수있는 방법을 제안 (옳은 일이 있음을 알고 가정합니다 이유는 확실하지 및 이 문제를 피하십시오).
어쨌든, 카메라를 닫는 데 사용하는 일부 코드가 있습니다 (내 앱이 의도적으로 시작 했음). 같은 방법으로 브라우저를 닫을 수도 있습니다. 이 해킹이지만, 시간에, 내가 문제를 해결하는 방식이었다
/** Delay required to keep simulated keypresses from occurring too fast, and being missed */
private static final int KEYPRESS_DELAY_MSEC = 100;
/** Max number of attempts to kill camera via key injection */
private static final int MAX_KEY_PRESSES = 10;
/** Used to determine when app has been exposed by killing Camera */
private MainScreen _mainScreen;
/** Counter for toggling key down/up */
private int _keyEventCount = 0;
public void run() {
// The picture has been taken, so close the camera app by simulating the ESC key press
if (!_mainScreen.isExposed()) {
int event = ((_keyEventCount % 2) == 0) ? EventInjector.KeyCodeEvent.KEY_DOWN :
EventInjector.KeyCodeEvent.KEY_UP;
EventInjector.KeyEvent injection = new EventInjector.KeyEvent(event, Characters.ESCAPE, 0);
// http://supportforums.blackberry.com/t5/Java-Development/How-to-use-EventInjector-to-inject-ESC/m-p/74096
injection.post();
injection.post();
// Toggle back and forth .. key up .. key down
_keyEventCount++;
if (_keyEventCount < MAX_KEY_PRESSES) {
// Keep scheduling this method to run until _mainScreen.isExposed()
UiApplication.getUiApplication().invokeLater(this, KEYPRESS_DELAY_MSEC, false);
} else {
// Give up and just take foreground ... user will have to kill camera manually
UiApplication.getUiApplication().requestForeground();
}
} else {
// reset flag
_keyEventCount = 0;
}
}
는 _mainScreen
이 카메라 응용 프로그램을 닫아 발견해야 Screen
내, 그래서 나는 닫혀 있는지 테스트하는 데 사용할 카메라가 성공적으로 종료되었습니다. 또한 내 앱에서 카메라를 시작할 때마다 위의 그림에 나와있는대로
_keyEventCount = 0;
을 재설정합니다.
업데이트 :
private boolean _isExposed = false;
protected void onExposed() {
super.onExposed();
_isExposed = true;
}
protected void onObscured() {
super.onObscured();
_isExposed = false;
}
public boolean isExposed() {
return _isExposed;
}
: 또한
이 내 _mainScreen
객체가 노출 여부를 여부를 추적하는 데 필요한 코드는
관련 문제
- 1. Blackberry - 스피커를 활성화하는 EventInjector
- 2. 블랙 베리 : EventInjector 보안 타이머 확인 대화 상자
- 3. 브라우저의 이미지
- 4. 브라우저의 MvcMailer보기
- 5. 브라우저의 리디렉션
- 6. 브라우저의 애플릿
- 7. 브라우저의 보안
- 8. 브라우저의 상황에 맞는 메뉴 (브라우저의 확장 기능)에 옵션 추가
- 9. 브라우저의 TLS/SRP?
- 10. 모바일 브라우저의 날짜 형식
- 11. ASP.Net의 여러 브라우저의 쿠키
- 12. 다른 브라우저의 다른 URL
- 13. 브라우저의 Google지도 (V3) 인쇄
- 14. 특정 브라우저의 페이지로드를 중지하십시오.
- 15. 모바일 브라우저의 멀티 터치
- 16. WebKit 브라우저의 AJAX 문제
- 17. 브라우저의 주요 기능 비활성화
- 18. TCPDF 브라우저의 팝업 제목
- 19. 브라우저의 경계 설정하기
- 20. 브라우저의 확인 상자 닫기
- 21. 모든 브라우저의 CSS 문제
- 22. 코드에서 브라우저의 동작 모방
- 23. 다른 브라우저의 사진 색상?
- 24. 브라우저의 노드의 net.connect()?
- 25. 서버와 브라우저의 시간차
- 26. 다른 브라우저의 HTML
- 27. 안드로이드 브라우저의 성능 측정
- 28. Mac 브라우저의 호환성 문제
- 29. 웹킷 브라우저의 검사관이 누락되었습니다.
- 30. 모든 브라우저의 경계 반경은?