Android에서 패키지 공개 상태 필터링

앱에서 Android 11(API 수준 30) 이상을 타겟팅하고 기기에 설치된 다른 앱에 관한 정보를 쿼리하는 경우 시스템은 기본적으로 이 정보를 필터링합니다. 제한된 패키지 공개 상태는 앱의 관점에서 기기에 설치된 것으로 보이는 앱 수를 줄여 줍니다.

이 필터링 동작은 잠재적으로 민감한 정보 중 앱에서 사용 사례를 처리하는 데 필요하지 않지만 여전히 액세스할 수 있는 정보의 양을 최소화하는 데 도움이 됩니다. 또한 필터링된 패키지 공개 상태는 Google Play 같은 앱 스토어에서 앱이 사용자에게 제공하는 개인정보 보호 및 보안을 평가하는 데 도움이 됩니다. 예를 들어 Google Play에서는 설치된 앱 목록을 개인 정보 및 민감한 사용자 데이터로 간주합니다.

제한된 앱 공개 상태는 다른 앱에 관한 정보를 제공하는 메서드(queryIntentActivities(), getPackageInfo(), getInstalledApplications())의 반환 결과에 영향을 미칩니다. 제한된 공개 상태는 다른 앱과의 명시적 상호작용(예: 다른 앱의 서비스 시작)에도 영향을 줍니다.

일부 패키지는 여전히 자동으로 표시됩니다. 항상 앱은 다른 설치된 앱에 관한 쿼리에서 이러한 패키지를 확인할 수 있습니다. 다른 패키지를 보려면 <queries> 요소를 사용하여 패키지 공개 상태 확대를 위한 앱 요구사항을 선언합니다. 사용 사례 페이지에 일반적인 앱 상호작용 시나리오의 예가 나와 있습니다.

드물지만 <queries> 요소가 적절한 패키지 공개 상태를 제공하지 않는 경우 QUERY_ALL_PACKAGES 권한을 사용할 수 있습니다. Google Play에 앱을 게시하면 이후 정책에 따라 승인 시 앱의 이 권한이 적용됩니다.

추가 리소스

Android에서의 패키지 공개 상태를 자세히 알아보려면 다음 자료를 참고하세요.

블로그 게시물