Android 11 이상 기기에서 TargetSdkVersion='30' 이상을 타겟팅한 앱의 경우 QUERY_ALL_PACKAGES 권한을 사용하기 위해서는 권한 선언 양식을 제출해야 사용이 가능하다고 한다.
제출하지 않을 경우 앱 배포 및 업데이트가 불가하다.
자세한 내용은 Google Developer 사이트를 통해 확인할 수 있습니다.
https://support.google.com/googleplay/android-developer/answer/10158779?hl=ko
권한 허용 용도
허용되는 용도는 인식 또는 상호 운용성의 목적으로 기기에 설치된 모든 앱을 검색해야 하는 앱과 관련되며, 이 경우 권한 사용이 가능할 수 있습니다. 허용되는 용도에는 기기 검색, 바이러스 백신 앱, 파일 관리자, 브라우저가 포함됩니다. 이 권한에 대한 액세스 권한이 부여된 앱은 명시적 공개 및 동의 요건을 포함한 사용자 데이터 정책 을 준수해야 하며, 공개되지 않았거나 잘못된 목적으로 확대해 사용할 수 없습니다. |
예외 허용
Google Play에서는 위에 지정된 허용되는 용도에 해당하지 않는 다음의 앱에 일시적으로 예외를 허용할 수 있습니다.
|
잘못된 용도
다음은 QUERY_ALL_PACKAGES 권한을 요청할 수 없는 사용 사례의 목록입니다.
|
권한 선언 방법
아래 절차를 통해 권한 선언을 등록해주면 된다.
[Google 개발자 콘솔 > 앱 선택 > 앱 콘텐츠 > 민감한 권한 및 API > 시작] 메뉴를 통해 권한 선언 인터페이스 실행
'QUERY_ALL_PACKAGES' 권한이 필요한 핵심 내용 작성
권한이 필요한 용도
- 앱의 핵심 기능 선택 ('QUERY_ALL_PACKAGES' 권한이 필요한 용도를 선택하면 된다.)
핵심 기능 동영상 공유
- 핵심 기능을 동영상 촬영하여 Google에서 확인 할수 있도록 링크 제공 (네이버 MYBOX 사용)
이와 같이 작성 시 'QUERY_ALL_PACKAGES' 권한을 사용할 수 있다.
권한 사용 요청 실패 시 대응 방안
Google 에서 판단 시 'QUERY_ALL_PACKAGES' 권한이 필요 없는 앱이라고 지정할 경우 반려될 수 있다.
백신 또는 보안 앱이 아닌 이상 권한 획득이 상당히 어렵다.
방안으로는 아래 <queries> tag 를 통해 'QUERY_ALL_PACKAGES' 권한을 대체 할 수 있으니 참고하자.
<manifest package="com.my.app">
<queries>
<intent>
<action android:name="*" />
</intent>
</queries>
...
</manifest>
조건내용 : intent를 사용하는 모든 앱을 조회
'IT > Android' 카테고리의 다른 글
TargetSdkVersion 33 적용에 따른 주의사항 (0) | 2023.08.08 |
---|---|
Android 네트워크 인터넷 연결 상태 확인하기 (1) | 2023.03.17 |
Android 미디에이션 적용 시 데이터 보안 섹션 설정 (0) | 2023.02.17 |
Android ImageView에서 위아래(height) 공백 제거 (1) | 2023.01.25 |
Android Intent로 데이터 전달 #Feat. Serializable, Parcelable (16) | 2022.12.02 |
댓글