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

실행 중인 다른앱에게 데이터 보내기

0 추천
String schemeUrl = "Action://App?AppData=" + appData;
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(schemeUrl));
startActivity(intent);

위의 코드로 보내는 앱에서 데이터를 보내고, 아래의 코드로 받는 앱이 실행되며 appData에 따라 어떤 일을 수행합니다.

아래의 코드는 데이터를 받아 실행되는 앱의 코드입니다.

if (intent.getAction().equals(Intent.ACTION_VIEW)) {
                Uri uri = intent.getData();
                String responseData = uri.getQueryParameter("orderData");
                orderManager.setOrder(responseData);
                naviController.startNavi(orderManager.getInvoice());
            }

 

받는 앱이 아직 실행 전 일경우 문제없이 동작 하지만, 이미 실행 된 이후에는 위의 방법으로 데이터를 공유하는 방법을 못 찾겠습니다.

실행 중일지라도 다른 앱과 데이터를 주고 받는 방법이 있을까요?

받는 앱은 launchMode가 singleTask인 상태입니다.

-혹시 putExtra를 통해 전달 할 수 있을지 해서 시도해보니 잘 안되더군요.
변강욱 (260 포인트) 님이 2023년 1월 29일 질문

1개의 답변

0 추천
혹시 Activity의 onNewIntent는 오버라이드 해보셨나요?
spark (227,470 포인트) 님이 2023년 1월 29일 답변
감사합니다. 깔끔하게 되네요. ^^
...