마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 어플간 값 주고받는 방법 질문입니다.

0 추천
특정 어플(A)에서 하나의 어플(B라고 칭하겠습니다)이 가지고 있는 설정값을 받아와야 합니다.
설정값만 받아오면 되기 때문에, A -> B로 보내는 건 B의 SharedPreference를 조회하기 위한
String값이고, B에서 A로 리턴되어야 하는건 해당 설정 int값이고요(자료형은 결정되어있습니다.)

항시 호출은 아니고 어플 실행중 어쩌다가 한두번 호출입니다.

다만, A에서 B를 언제 호출할지 모릅니다. 즉 폰 키고 B어플을 한번도 열지않은 상태에서도
호출할 수도 있습니다.

 

고민해봤던건 Messenger클래스랑 다른 앱간SharedPreference 공유, ContentProvider, 브로드캐스팅으로 주고받기인데...

1)다른 앱간SharedPreference 공유 이건 전에 해봤는데
구현은 간편하지만 생각보다 안정성 엉망입니다. 이건 쓰기 어렵겠더라고요.

2)Broadcast 로 보낸다음 다시 Broadcast 로 받는건 그닥 좋아보이지도 않는데다
B가 메모리에 올라와있지 않은상태에서 호출하면 꽝! 되는거 아닌가 하는 우려가...

3) ContentProvider는 DB공유도 아니고 설정값 어쩌다 한번 주고 받는데
게다가 어디서 듣자하니 다른 어플의 ContentProvider공유는 리소스 소모가 많다고 들었습니다.

4)원하는 형태에 가장 근접한건 Messenger인데, 이게 액티비티 - 서비스가 아니라 액티비티 -액티비티 간에도 가능한지 모르겠습니다.

 

혹시 위의 방법들 말고 좋은 해결책 생각나시는거 있으신가요?
시안 (280 포인트) 님이 2017년 9월 29일 질문
예전에 제가 나의 앱A에서 외부 앱B를 종료하려고 구글링하다가 우연히 찾은게 있습니다. 만약 위에서 말씀하신 앱A와 앱B의 개발자가 동일하다면 가능합니다.
A앱에서 B앱의 패키지명과 클래스명을 알고 있으면 B앱의 클래스를 조작할 수 있는 함수가 있는걸로 기억합니다. ~getClass() 어쩌구 하면서 불러왔던 기억이 있습니다.
오래전이라 기억은 잘 안나지만.. 구글링하면 나올거에요 ㅠㅠ

참고만하세요..

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...