Android(Kotlin)

Android android:exported 란

----___<<<<< 2021. 11. 27. 18:32

 

 가끔 안드로이를 앱을 만들다가 에러가 난 적이 있습니다.

 

 에러 내용이 Android android:exported와 관련된 내용인데, android:exported:true or false로 설정해주니 해결되었는데 이게 뭘까 해서 찾아봤습니다.

 

 우선 구글에서 설명하는 방식은 아래와 같습니다.

 

android:exported이 요소는 다른 애플리케이션의 구성요소로 액티비티를 시작할 수 있는지 설정합니다. 할 수 있으면 "true", 할 수 없으면 "false"입니다. "false"인 경우, 해당 액티비티는 같은 애플리케이션의 구성요소 또는 사용자 ID가 같은 애플리케이션으로만 시작할 수 있습니다.

인텐트 필터를 사용하는 경우 이 요소를 "false"로 설정하면 안 됩니다. 이렇게 설정하고 앱이 액티비티를 호출하려 하면 시스템이 ActivityNotFoundException을 발생시킵니다. 대신 이에 대한 인텐트 필터를 설정하지 않아 다른 앱이 이 액티비티를 호출하지 못하게 방지해야 합니다.

인텐트 필터가 없는 경우, 이 요소의 기본값은 "false"입니다. 이 요소를 "true"로 설정하면 이 액티비티는 액티비티의 정확한 클래스 이름을 아는 모든 앱에서 액세스할 수 있지만, 시스템이 암시적 인텐트를 일치시키려 할 때는 확인되지 않습니다.

이 특성 외에도 다른 애플리케이션에 액티비티 노출을 제한하는 방법이 있습니다. 액티비티를 호출할 수 있는 외부 엔터티를 제한하는 권한을 사용할 수도 있습니다(permission 특성 참조).

 

 대충 true로 해놓으면 다른 앱에서 현재 이 앱을 실행할 수 있는데, false로 해놓으면 실행할 수 없다 라고 하는 것 같습니다.

 

 끝.

 

 

 - 참조

 

https://developer.android.com/guide/topics/manifest/activity-element?hl=ko#exported 

 

<액티비티>  |  Android 개발자  |  Android Developers

Declares an activity (an Activity subclass) that implements part of the application's visual user interface. All activities must be represented by {@code } elements in the manifest file. Any that are not declared there will not be seen by the system…

developer.android.com

 

 

'Android(Kotlin)' 카테고리의 다른 글

Android Room Sqlite 시각적으로 보기  (0) 2021.12.10
Android FireStore + Coroutine  (21) 2021.11.27
Enum class  (0) 2021.11.14
Android API  (0) 2021.11.07
Android arr module 만들기 및 import  (0) 2021.11.07