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

동일한 브로드캐스트 등록된 앱이 2개 이상일 경우

0 추천
안녕하세요

 

제목 그대로 동일한 브로드캐스트 등록된 앱이 2개 이상일 경우, Null 참조로인한 앱이 죽습니다.

상세 기능은 서버에서 인증번호발송이 되면, 해당 문자를 받았을때 문자 분석해서 서버에서 보낸게 맞으면 자동적으로 인증번호를 입력하도록, 액티비티에 있는 TextField에 값을 입력하도록 했는데요.

 

문제는, 이 브로드캐스트로 짠 앱이 다른 패키지명으로도 생성해서 설치된경우..

그런 경우에는 같은 브로드캐스트 이름이기때문에 두 앱이 같이 실행되면서, 현재 실행중인 앱은 잘 되지만 실행중이지 않은 앱 액티비티 TextField에 접근할 수 없기때문에 앱이 죽어버리게 되더라구요.

 

이럴때는 어떻게 해야할까요?

리시버를 상속받는 클래스에서 문자를 분석하고, 현재 실행중인 앱에서만 액티비티를 접근할 수 있게 해야하는데요, 실행중인 앱을 찾는 소스는 Activity, Context객체가 전달되어야지만 가능하더라구요.

 

방법이 무엇이 있을까요? (__)
겸군님 (1,900 포인트) 님이 2017년 8월 24일 질문

1개의 답변

0 추천
 
채택된 답변
Receiver를 manifest에 등록하는게 아니라 문자 요청시 Receiver를 생성하고 화면 전환시 unregister 해주시면 되지 않을까요?
minor (13,710 포인트) 님이 2017년 8월 24일 답변
겸군님님이 2017년 8월 24일 채택됨
동적리시버라는 개념이 있었군요 :(

감사합니다 공부하고 그걸로 적용시켜봐야 겠어요~
...