안녕하세요. 검색해 봐도 답을 찾을 수가 없어 이렇게 글을 올립니다.
질문은,
완전히 다른 앱의 특성 메소드에 접근 할 수 있는가 하는 것입니다.
예를 들어 app(1) 에서 app(2)에 직접메소드 / 변수에 접근하여 그 값을 빼오는것이 가능한가 여부 입니다.
app(2)에서 AudioPlayer로 음악을 감상중이면 isPlayer()함수를 직접접근하여 app(1)이 boolean값을 빼오는게 가능한가인데요.
해당 app의 패키지명 / 액티비티명은 이미 알고 있습니다.
도움 부탁드립니다.
RPC를 이용하면 가능합니다.
Android에서는 RPC로 AIDL을 제공하고 있으니 AIDL 관련 예제들을 찾아보시면 됩니다.
간략하게 요약하면
1. app2에서 aidl 정의 : ~.aidl 파일 작성(메소드 정의), 원하는 부분에 정의한 메소드 구현
2. (위 경우 서로 패키지가 다르므로..) 1을 통해서 gen에 생성된 ~.java 파일을 jar로 뽑아내어 app1에 lib로 넣음
3. app1에서 ServiceConnection를 이용하여 aidl에 정의한 메소드 호출(app2의 메소드가 호출)