통화 기록 읽기, SMS 메시지 전송과 같은 몇 가지 핵심적인 기기 기능은 민감한 사용자 정보 액세스 권한이 필요합니다. 사용자 개인 정보를 보호하고 사용자가 기기의 앱에 제공하는 정보에 관해 더 많은 제어 권한을 갖도록 Google Play는 통화 및 메시지 관련 권한 그룹에 대한 앱의 액세스를 제한합니다.
Google Play 스토어에 앱을 배포하고 통화 기록 및 SMS 메시지와 관련된 민감한 사용자 정보에 액세스하려는 경우 앱이 Play Console 고객센터에 나와 있는 예외 사례 중 하나를 충족하지 않는 한, 그 권한과 관련된 핵심 기기 기능을 위한 사용자의 기본 핸들러로 등록되어야 합니다. 예를 들어 통화 관련 권한에 액세스하려면 앱이 예외 사례를 충족하지 않는 한, 앱을 사용자의 기본 휴대전화 핸들러 또는 어시스턴트 핸들러로 등록해야 합니다.
이 가이드에서는 사용자가 Android 기반 기기에서 기본 핸들러에 액세스하는 방법을 간략히 설명합니다. 그런 다음 앱이 기본 핸들러가 되기 위한 자격을 갖추기 위해 충족해야 하는 요구사항을 검토합니다. 마지막으로 기본 핸들러가 되기 위해 사용자의 동의를 받는 과정을 안내합니다.
Play 스토어에서 제공되는 앱의 권한 처리 방법과 기본 핸들러에 관해 자세히 알아보려면 권한 정책 가이드를 참고하세요.
기본 핸들러 보기 및 변경
Android에서는 사용자가 전화 걸기, SMS 메시지 전송, 보조 기술 기능 제공과 같은 여러 핵심 사용 사례를 위한 기본 핸들러를 설정할 수 있습니다.
Android의 설정 앱에는 그림 1과 같이 기기의 핵심 기능을 위한 기본 핸들러로 현재 어떤 앱을 사용 중인지 보여주는 화면이 있습니다. 이 화면에서 사용자는 그림 2와 같이 특정 기능의 기본 핸들러를 변경할 수 있습니다.
그림 1. 기기의 기본 핸들러 목록을 보여주는 시스템 설정 화면
그림 2. 기본 SMS 핸들러를 변경하는 방법을 보여주는 시스템 설정 화면
기본 핸들러 요구사항 준수
앱이 기본 핸들러로 사용되는 동안 액세스하는 민감한 사용자 정보를 감안할 때, 앱은 다음 Play 스토어 등록정보와 핵심 기능 요구사항을 충족하지 않는 한 기본 핸들러가 될 수 없습니다.
앱은 기본 핸들러 역할에 맞는 기능을 실행할 수 있어야 합니다. 예를 들어 기본 SMS 핸들러는 SMS를 보낼 수 있어야 합니다.
앱은 개인정보처리방침을 제공해야 합니다.
앱은 Play 스토어 설명에서 핵심 기능을 명확하게 알려야 합니다.
예를 들어 기본 휴대전화 핸들러는 설명에 휴대전화 관련 기능을 설명해야 합니다.
앱은 사용 사례에 적합한 권한을 선언해야 합니다. 지정한 핸들러로 선언할 수 있는 권한에 관한 자세한 내용은 Play Console 고객센터의 SMS 또는 통화 기록 권한 그룹 사용 관련 도움말을 참조하세요.
앱은 핸들러와 관련된 권한을 요청하기 전에 기본 핸들러가 되어도 되는지 묻는 메시지를 표시해야 합니다. 예를 들어 앱은 READ_SMS 권한을 요청하기 전에 기본 SMS 핸들러가 되겠다고 요청해야 합니다.
사용자 동의 요청
앱이 기본 핸들러가 되기 위한 각 요구사항을 준수하는지 확인했으면 로직을 추가하여 그림 3에 표시된 것처럼 대화상자를 표시할 수 있습니다. 이 대화상자는 사용자에게 그 앱을 특정 사용 사례의 기본 핸들러로 지정할지 물어봅니다.
그림 3. 사용자에게 기기의 기본 SMS 핸들러를 변경할지 묻는 메시지
다음 예제 코드는 사용자에게 기기의 기본 SMS 핸들러를 변경할지 묻는 메시지를 표시하는 데 필요한 로직을 보여줍니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Permissions used only in default handlers\n\n| **Note:** This guide primarily applies to Android app developers who are publishing apps on the [Google Play Store](https://play.google.com/store/apps). However, to protect your users' privacy, it's best to complete the tasks described on this page regardless of where you publish your Android app.\n\nSeveral core device functions, such as reading call logs and sending SMS\nmessages, depend on access to sensitive user information. To protect user\nprivacy and provide users with more control over the information that they\nprovide to apps on their device, Google Play restricts apps' access to call-\nand messaging-related permission groups.\n\nIf you distribute your app on the Google Play Store and want to access sensitive\nuser information related to call logs and SMS messages, your app needs\nto be registered as the user's *default handler* for the core device function\nrelated to that permission, unless your app satisfies one of the\n[exception cases](https://support.google.com/googleplay/android-developer/answer/9047303#exceptions)\nthat appear in the Play Console Help Center. For example, to access\ncall-related permissions, your app needs to be registered as the user's default\nPhone or Assistant handler, unless your app satisfies an exception case.\n\nThis guide provides a brief overview of how users access default handlers on\nAndroid-powered devices. The guide then reviews the requirements that an app\nmust satisfy before becoming eligible to be a default handler. Finally, the\nguide walks you through the process of receiving user consent to become a\ndefault handler.\n\nTo learn more about default handlers, as well as how to handle permissions in an\napp that's available on the Play Store, [see the Permissions policy\nguide](https://play.google.com/about/privacy-security-deception/permissions/).\n\nView and change the set of default handlers\n-------------------------------------------\n\nAndroid lets users set default handlers for several core use cases, such as\nplacing phone calls, sending SMS messages, and providing assistive technology\ncapabilities.\n\nThe Settings app on Android includes a screen that shows users which apps are\ncurrently default handlers for the device's core functions, as\nshown in figure 1. From this screen, users can change the default handler for a\ngiven function, as shown in figure 2. \n**Figure 1.** System settings screen showing list of default handlers on a device. \n**Figure 2.** System settings screen showing how to change the default SMS handler.\n\nFollow requirements for default handlers\n----------------------------------------\n\nGiven the sensitive user information that an app accesses while serving as a\ndefault handler, your app cannot become a default handler unless it meets the\nfollowing Play Store listing and core functionality requirements:\n\n- Your app must be able to perform the functionality for which it's a default handler. For example, a default SMS handler must be able to send text messages.\n- Your app must provide a privacy policy.\n- Your app must make its core functionality clear in the Play Store description. For example, a default Phone handler should describe its phone-related capabilities in the description.\n- Your app must declare permissions that are appropriate for its use case. For more details about which permissions you can declare as a given handler, see the [guidance on using SMS or call log permission\n groups](https://support.google.com/googleplay/android-developer/answer/9047303#intended) in the Play Console Help Center.\n- Your app must ask to become a default handler **before** it requests the permissions associated with being that handler. For example, an app must request to become the default SMS handler before it requests the `READ_SMS` permission.\n\nRequest user consent\n--------------------\n\nAfter ensuring that your app follows each of the requirements necessary to\nbecome a default handler, you can add logic to display the dialog shown in\nfigure 3. This dialog asks the user to make your app the default handler for a\nparticular use case. \n**Figure 3.** Prompt asking the user whether they want to change their device's default SMS handler.\n| **Note:** Your app must ask to become a default handler **before** it requests the permissions associated with being that handler. For example, an app must request to become the default SMS handler before it requests the `READ_SMS` permission.\n\n\nThe following example code shows the logic necessary to display a prompt that\nasks the user to change their device's default SMS handler: \n\n### Kotlin\n\n```kotlin\nval setSmsAppIntent = Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT)\nsetSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName)\nstartActivityForResult(setSmsAppIntent, your-result-code)\n```\n\n### Java\n\n```java\nIntent setSmsAppIntent =\n new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);\nsetSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME,\n getPackageName());\nstartActivityForResult(setSmsAppIntent, your-result-code);\n```"]]