반응형
Context를 통해서 제공하는 Service는 자신 뿐만 아니라 다른 사람도 사용 할 수 있도록 하겠다는 것을 내포하고 있습니다.
(물론 sdk에 포함이 되지 않을 수도 있지요...)
그래서 aidl을 작성해서 Remote Service로 작성해야 합니다.
그러면 Context의 getSystemService() 메소드를 통해서 MyService를 사용 할 수 있게 만들어 보겠습니다.
1. IMyService를 작성합니다.
2. MyService를 작성합니다.
3. MyServiceManager를 작성합니다.
4. Context에 MYSERVICE이라는 이름으로 final 타입의 문자열을 정의합니다.
5. SystemServer에서 ServiceManager에 MyService를 추가합니다.
6. ContextImpl의 getSystemService() 메소드에서 MyServiceManager를 MyService와 연결하고 반환하도록 합니다.
안드로이드 소스가 있으시면, 주변 소스를 보고 따라 만드시면 충분히 하실 수 있습니다.
하지만 조심해야 할 것은 framework에 들어간 소스가 Error가 발생하면.. 안드로이드 시스템이 죽을 수 있다는 겁니다~
시간이 되면 소스를 첨부해서 마져 작성하도록 하겠습니다.
반응형
'안드로이드' 카테고리의 다른 글
[안드로이드] ListView의 fadingEdge 없애는 방법 (0) | 2012.09.26 |
---|---|
[안드로이드] /system 디렉토리 remount 하기 (0) | 2012.09.19 |
[안드로이드] 텍스트 파일의 캐릭터 셋(Character Set) 얻기 (0) | 2012.09.04 |
[안드로이드] 이클립스 업데이트 오류 (Install download0) (0) | 2012.07.27 |
[안드로이드] AIDL에 Parcelable 데이터 사용하기 (2) | 2012.07.04 |
[안드로이드] InputStream ↔ String 변환하기 (0) | 2012.05.30 |
[안드로이드] onDestroy() 언제 호출되나? (0) | 2012.03.07 |
[안드로이드] 안드로이드 빌드 시스템 (0) | 2012.03.05 |
[안드로이드] Android.mk 사용하는 이미 정의된 문법 (0) | 2012.03.05 |
[안드로이드] Android의 framework에 resource 추가하기 (0) | 2012.02.14 |