▼ Android 의 모든 동작에 연결하는 Activity 는 AndroidManifest.xml 에 등록을 해야 합니다. AndroidManifest.xml 에는 서비스, 브로드캐스트 수신기 및 앱의 전체 동작을 포함하여 Android 앱의 다양한 구성 요소를 정의합니다. 아래소스는 Intent 를 이용해서 버튼을 클릭했을 때 SecondActivity 로 이동하려는 의도가 담겨있습니다.
▼ 만약 SecondActivity 클래스가 AndroidManifest.xml 에 등록되어 있지 않다면 어떻게 될까요? 아래와 같은 에러 메시지가 나타날 겁니다.
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.myapplication/com.example.myapplication.SecondActivity}; have you declared this activity in your AndroidManifest.xml?
▼ 해결 방법은 간단합니다. AndroidManifest.xml 로 이동해서 <activity> 요소에 SecondActivity 를 등록합니다.
▼ AndroidManifest.xml 에 추가할 <activity> 구성 요소에 대한 설명은 다음과 같습니다.
l android:name: Activity 이름을 입력하는데 앞에 “.” 점은 현재 패키지를 뜻합니다.
l android:exported: 다른 앱의 구성 요소에서 참조가 가능한지 여부를 지정합니다. "false" 값은 활동이 동일한 앱의 구성 요소 또는 시스템에 의해서만 사용이 가능합니다. "true" 는 모든 앱에서 Activity 참조가 가능합니다.
따라서 현재 선언한 <activity> 요소는 현재 패키지에 SecondActivity 클래스의 인스턴스를 생성하고 다른 앱에서 Activity 를 참조하지 못하게 차단합니다.
'안드로이드 개발' 카테고리의 다른 글
안드로이드(Android) ProgressDialog(프로그레스 다이얼로그) 구현 방법 (9) | 2024.03.06 |
---|---|
안드로이드 개발 ContentProvider, ContentResolver 이용해서 연락처 가져오는 방법 (3) | 2024.02.09 |
안드로이드 스튜디오 개발 APK 파일 찾는 방법 (0) | 2023.07.10 |
안드로이드(Android) ImageView scale type 별로 이미지 배치 하는 방법 (0) | 2023.01.24 |
안드로이드 개발 에뮬레이터 카메라 QR 스캔하기 (1) | 2022.11.15 |
안드로이드(Android) 레이아웃(Layout) gravity, layout_gravity 차이점을 알아보자. (6) | 2022.11.14 |
안드로이드 개발 이미지 추가하고 화면에 출력하는 방법 (0) | 2022.10.23 |
안드로이드 android.os.NetworkOnMainThreadException 에러, Thread를 사용해야 되는 경우 (1) | 2022.08.02 |