Skip to content

Most visited

Recently visited

navigation

권한 선언

모든 Android 앱은 액세스가 제한된 샌드박스에서 실행됩니다. 자체 샌드박스 밖에 있는 리소스나 정보를 앱이 사용해야 하는 경우에는 앱이 적절한 권한을 요청해야 합니다. 앱에 권한이 필요함을 선언하려면 해당 권한을 앱 매니페스트에 나열합니다.

권한이 얼마나 민감한지에 따라 시스템이 자동으로 권한을 부여할 수도 있고, 기기 사용자가 요청을 승인해야 할 수도 있습니다. 예를 들어, 기기의 플래시를 켜는 권한을 앱이 요청하는 경우, 시스템이 자동으로 권한을 부여합니다. 그러나 앱이 사용자의 연락처를 읽어야 하는 경우에는 시스템이 해당 권한의 승인을 사용자에게 요청합니다. 플랫폼 버전에 따라, 앱을 설치할 때(Android 5.1 이하) 또는 앱을 실행하는 중에(Android 6.0 이상) 사용자가 권한을 부여합니다.

앱에 필요한 권한 판별

앱을 개발하는 중에는, 권한이 요구되는 기능을 언제 앱이 사용하는지를 고려해야 합니다. 일반적으로, 앱은 직접 생성하지 않은 정보나 리소스를 사용하거나 기기 또는 기타 앱의 동작에 영향을 미치는 동작을 수행할 때마다 권한을 필요로 합니다. 예를 들어, 앱이 인터넷에 액세스하거나 기기 카메라를 사용하거나 Wi-Fi를 켜거나 꺼야 하는 경우, 적절한 권한이 필요합니다. 시스템 권한 목록은 정상 권한 및 위험한 권한을 참조하세요.

여러분의 앱이 직접 수행하는 동작에 대해서만 권한이 필요합니다. 여러분의 앱이 다른 앱에게 작업을 수행하거나 정보를 제공하도록 요청하는 경우에는 권한이 필요치 않습니다. 예를 들어, 앱이 사용자의 주소록을 읽어야 하는 경우 READ_CONTACTS 권한이 필요합니다. 그러나 여러분의 앱이 인텐트를 사용하여 사용자의 연락처 앱에서 정보를 요청하는 경우, 여러분의 앱에는 권한이 필요없지만 연락처 앱에는 권한이 필요합니다. 자세한 내용은 인텐트 사용 고려를 참조하세요.

매니페스트에 권한 추가

앱에 권한이 필요함을 선언하려면, <uses-permission> 요소를 최상위 <manifest> 요소의 하위 요소로 앱 매니페스트에 넣습니다. 예를 들어, SMS 메시지를 보내야 하는 앱은 매니페스트에 다음 줄이 있어야 합니다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.snazzyapp">

    <uses-permission android:name="android.permission.SEND_SMS"/>
    

    <application ...>
        ...
    </application>

</manifest>

권한 선언 후의 시스템 동작은 이 권한이 얼마나 민감한지에 따라 다릅니다. 권한이 사용자 개인정보 보호에 영향을 미치지 않으면, 시스템이 자동으로 권한을 부여합니다. 민감한 사용자 정보에 대한 액세스 권한을 부여하는 경우에는 시스템이 요청 승인 여부를 사용자에게 물어봅니다. 다양한 종류의 권한에 대한 자세한 내용은 정상 권한 및 위험한 권한을 참조하세요.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)