2011-06-10 5 views
0

내 계측 기기 그것에 활동을 시작하지만, 나는 그것을 내 MotionEvent 's의 전송을 시작하는 것이 안전 할 때 이야기하는 우아한 방법을 찾을 수 없습니다. 그 순간, 나는 계속해서 MotionEvent을 보내고 잘못된 응용 프로그램이 그것을 받으면 던져 넣는 SecurityException을 잡습니다. 이 방법장비 응용 프로그램이 언제 표시되는지 어떻게 알 수 있습니까?

문제는 ... 첫 번째 이벤트가 통과 할 때 응용 프로그램이 응답, 그래서이 방법은 부작용없이되지 않는 것입니다

내가 UID의 뭔가 일을하려고 생각하고 있었는데, 그러나 나는 그것을 어디에서 찾을 지 모른다.

답변

1

당신은 당신의 활동에 호출되는 표준 안드로이드 라이프 사이클 메소드를 활용할 수 있습니다. onResume()에서 'infront'플래그를 설정하고 onPause()에서이를 지울 수 있습니다. 그런 다음 인스 트루먼 테이션 테스트는 해당 플래그를 검사하여 MotionEvent를 보내는 것이 안전한지를 확인합니다.

당신이 테스트의 목적을 위해 특별히 코드를 넣어 앱에 오염 서브 클래스를 생성, onResume/onPause를 오버라이드 (override), 플래그를 설정하고 슈퍼를 호출하지 않으려면

.

관련 문제