2
동일한 응용 프로그램의 무료 및 프리미엄 버전 (거의 동일한 코드, "if"가있는 동일한 클래스, 매니페스트의 다른 패키지, 매니페스트의 동일한 프로세스 이름)이 있습니다. 주 활동은 IMPLICIT 의도를 사용하여 몇 가지 물건을 실행하는 서비스를 호출합니다.android : 여러 구현이 동일한 의도에 응답 할 때 OS가 구성 요소 구현을 선택하는 방법은 무엇입니까?
휴대 전화에 두 앱을 모두 설치하면 프리미엄 활동이 실제로는 "무료"서비스를 시작하고 "프리미엄"서비스가 다른 것으로 시작하는 것으로 나타납니다. 나는 카테고리와 packagemanager로 놀아 왔지만 너무 복잡해 보입니다.
질문 :
안드로이드는 같은 의도에 응답하는 여러 구성 요소를 어떻게 처리합니까 방법- ?
- 어떻게 할 것입니까? 여러 개의 앱에서 동일한 서비스가 있고 모든 앱에서 하나의 인스턴스 만 호출되기를 원합니다.
난 단지 앞으로 하나의 수신기에 그 의도를 안드로이드를 믿고, 다른 하나는 그것을받지 않을 것입니다. 여러 활동이 동일한 의도에 응답하지만 서비스에 대해 궁금한 점이 있다면 팝업이 표시된다는 것을 알았습니다. –
나는 당신이 그것을 어떻게 부르 느냐에 달려있다 - startActivity와 startService는 하나의 Activity/Service를 목표로하고 팝업을 시작하여 무엇을 시작할 것인지 선택할 수있다. 그러나 sendBroadcast를 사용하면 수신기에서 전달 된 모든 수신기가 트리거됩니다. – Tapirboy