2013-04-02 1 views
0

APP1은 APP2 패키지 이름을 사용하지 않고 APP2의 패키지 이름을 동적으로 검색하고자합니다.코드가없는 앱에서 패키지 이름을 검색하십시오.

가장 확실한 방법은 수신자, 활동, 활동 별칭 및 서비스와 같은 APP2 구성 요소 중 하나에서 인 텐트 필터를 정의하는 것입니다. 그런 다음 APP1은 해당 인 텐트 필터를 쿼리하고 마법이 수행됩니다.

그러나 APP2는 단지 리소스 패키지이며 실제로 해당 안드로이드 매니페스트는 신청 세션에서 hasCode="false"을 선언합니다. 그래서, APP2 (나는 생각한다)는 그 구성 요소를 의도 필터와 함께 배치 할 수 없다.

APP2에 코드가 없어야한다는 것을 명심하십시오. APP1이 APP2 패키지 이름을 프로그래밍 방식으로 검색하는 방법이 있습니까?

답변

0

나는 당신이 AndroidManifest.xml에서 활동을 선언했다고하더라도, 당신은 app 프로젝트에서 각각의 자바 클래스를 생성하지 않을지도 모른다는 것을 알았다. 프로젝트는 잘 컴파일됩니다.

지금까지 해결책은 AndroidManifest에 더미 활동 태그를 만들고 인 텐트 필터를 선언 한 다음이 필터를 사용하여이 패키지 이름을 쿼리합니다.

해당 인 텐트 필터를 사용하여 더미 활동을 시작하려고하면 ActivityNotFoundException이 발생할 수 있음을 알 수 있습니다.

나는 그것이 우아한 해결책은 아니지만 지금은 효과가 있다고 생각합니다. 더 나은 솔루션을 게시 하시길 바랍니다.