2013-11-21 2 views
1

Google 소스 코드가 있고 을 Android가 App 및 Frameworks 계층을 제공하는 것과 비슷한 하위 계층에 쓰고 싶습니다.C++에서 Android 서비스를 작성하는 방법

가능합니까?

그렇다면 IMyService.Stub.asInterface를 통해 내 응용 프로그램에서이 기본 서비스에 액세스하려고합니다.

분명히 내 서비스가 내 기본 서비스에서 제공하는 다른 프로세스와 서비스로 실행되어야하며 AIDL 또는 비슷한 것을 노출해야합니다.

답변

1

물론 가능합니다. 먼저 메시지 정의와 같은 자체 프로토콜을 정의해야합니다. 그런 다음 서버 측을 구현하고 서비스 관리자에 등록한 다음 바인더 호출을 기다립니다. 클라이언트가 서비스 관리자로부터 서비스 핸들을 가져온 다음 서버에 바인더 호출을 보낼 수 있습니다.

AOSP의 media_server 및 mediaplayer 소스 코드를 참조 할 수 있습니다.

+0

이것을 통해 JNI 호출을 피하고 싶습니다. 나는 이것을 시도하고 여기에서 갱신 할 것이다. – AndroDev

+0

예, 순수한 C++ 코드를 사용하여 모든 바인더 호출을 수행 할 수 있습니다. – Robin

관련 문제