안녕하세요 슈퍼성근님~^^
또 궁금한게 있어서 왔어요..안드로이드 코드를 분석하다 보면
어떤 서비스는 android.app.Service의 Service를 상속받고,
어떤 서비스는 com.android.server.SystemService의 System Service를 상속받고 있는데요
Service와 SystemService의 차이가 무엇인가요?
System Process에서 돈다는 차이 이외에 어떤 차이가 있는지 궁금해서요..
제가 어떤 Service를 짠다고 할때 둘 중 어떤 Service를 사용하는게 좋을지 구분이 안가서요..
차이점을 설명해주시면 좋겠어요^^
항상 감사합니다~
오늘도 좋은 하루 되세요^^
첫댓글 안녕하세요.
결론부터 말씀드리자면 일반 서비스는 Service를 상속받아 구현하셔야 합니다.
사실 SystemService는 참조조차 못합니다. hide 클래스이기 때문이죠.
SystemService은 안드로이드 시스템의 일부입니다.
즉 안드로이드 자체라고 봐도 되겠죠.
안드로이드는 내부적으로 다양한 서비스를 제공하고 있죠.
한가지 예를 들자면 단말기의 중력/가속도 등과 같이 각종 센서를 제어할 수 있는 서비스입니다.
그렇다면 단말 제조사에서 좀더 멋찐 하드웨어가 나왔고,
이를 사용자들에게 쓸수 있도록 하려면 어떻게 해야할가요?
바로 시스템 서비스를 구현하고 개발자들에게 제공하겠죠.
이럴때 쓰는 것이 바로 시스템 서비스입니다.
즉 시스템 서비스는 시스템 권한이 필요하기 때문에 제조사에서 사용할 수 있는 서비스입니다.
일반 개발자들을 쓸 수 없죠.
단말에서 제공되는 서비스가 어떤것이 있을까 궁금하실 것 같아 알려드립니다.
adb명령어로 다음을 실행합니다.
adb shell service list
이후 시스템 서비스들이 쭈루룩 표시됩니다.
수고하세요.
와우~!!! 빠른 답변 감사드립니다. 항상 많은 도움 주셔서 감사해요~^^