안드로이드 개발 질문/답변
(글 수 45,052)
질문: Service를 '사용자가 임의로' 구동시킬 수 있는지 여쭙니다.
부연드리면,
가령, sdk 1.5 샘플 어플인 SoftKeyboard 같은 Service 경우 텍스트뷰 같은 뷰를 클릭해야만 화면에 보여지게 되는데요.
텍스트뷰 같은게 없더라도 어플리케이션 레벨에서 따로 버튼 등을 이용해서 임의로 실행 시키는게 가능한지 궁금합니다.
혹 이게 가능하다면, 간략한 가이드도 함께 부탁을 드렸으면 합니다.
부연드리면,
가령, sdk 1.5 샘플 어플인 SoftKeyboard 같은 Service 경우 텍스트뷰 같은 뷰를 클릭해야만 화면에 보여지게 되는데요.
텍스트뷰 같은게 없더라도 어플리케이션 레벨에서 따로 버튼 등을 이용해서 임의로 실행 시키는게 가능한지 궁금합니다.
혹 이게 가능하다면, 간략한 가이드도 함께 부탁을 드렸으면 합니다.
2009.07.07 13:14:43
Service는 원래 Context의 startService, bindService등으로 애플리케이션에서 실행을 시킬수 있습니다. 다만 SoftKeyboard와 같은 것은 특별한 성질을 가지는 것으로 InputMethod와 연결되서 작동을 하는 것이기 때문에 연결된 텍스트창이 없을 경우 정상적으로 동작하지 않을수도 있다는 생각이 듭니다. 그리고 대부분의 InputMethodService는 startService를 직접 실행시킬수 없도록 permission처리 되어있습니다. 해당 permission을 가지고 직접 startService를 실행한다고 해도 실행이 보장되진 않겠지만요. 제가 아는 것은 이정도 까지입니다.