2010-07-11 3 views
2

나는 Samsung Galaxy I9000 Phone을 구입했다. 트랙볼이나 터치 패드/커서 키가 없다는 것을 알고있다. 나는 생각하기를 : 제스처를 읽고 적절한 커서 이벤트를 보내거나 생성하는 애플리케이션을 작성하기 만하면된다. SDK 문서를 확인하고 내 응용 프로그램에 권한 'INJECT_EVENTS'을 부여한 후에 이것이 가능하다는 것을 발견했습니다 : "응용 프로그램이 사용자 이벤트 (키, 터치, 트랙볼)를 이벤트 스트림에 삽입하여 모든 창에 전달할 수 있도록 허용합니다. 당신은 자신의 프로세스에서 윈도우에만 이벤트를 전달할 수 있습니다. "안드로이드 장치에서 트랙볼/커서 움직임을 시뮬레이트하는 방법은 무엇입니까?

이 권한은 시스템/펌웨어 수준이 아닌 응용 프로그램 수준에서 사용할 수 있음을 분명히 표시합니다.

몇 시간의 실험 후 필자의 프로그램이 커서 이벤트를 내 자신의 프로그램과 다른 프로그램에 삽입하는 방법을 찾지 못했습니다. 'INJECT_EVENTS'권한을 얻지 않고 어떻게이를 달성 할 수 있습니까?

+0

귀하의 앱이 필요한 권한없이 막대한 보안상의 영향을 미치기를 원하십니까? 나는 당신이 이것을 할 길을 찾으면 고칠 필요가있는 커다란 버그를 발견했을 것이라고 생각합니다. :) – adamp

+0

이것이 보안 점검을 조용히 통과한다면 사실 일 겁니다.하지만 'INJECT_EVENTS'권한을 요청할 때 설치 과정에서 허용 할 것인지 묻는 시스템에는 신경 쓰지 않아도됩니다. 삼성 갤럭시 I9000에는 커서 패드 또는 트랙볼이 없기 때문에 이러한 종류의 앱이 필요합니다. – user388759

답변

0

@adamp가 주석에서 지적했듯이, INJECT_EVENTS 권한이 없으면이를 수행 할 수있는 방법이 없기 때문에 엄청난 보안 버그 일 수 있습니다. 또한 this questionthis bug은 INJECT_EVENTS이 (는) 시스템 수준의 사용 권한이며 비 시스템 앱에서는 사용할 수 없음을 나타냅니다.

관련 문제