응용 프로그램의 시작 활동 변경
응용프로그램의 고기와 내장을 만들었지만 시작점이 될 다른 활동(로그인 화면)을 추가하고 싶습니다.
몇 가지 질문:
1 저는 활동 간 전환 방법에 대해 꽤 괜찮은 핸들을 가지고 있습니다(이 기사에 따르면: http://www.linux-mag.com/id/7498) ). 하지만 새로운 활동(이클립스 포함)을 만드는 방법은 잘 모르겠습니다.
2 새 활동을 만든 후에는 응용프로그램의 기본 활동으로 설정하려면 어떻게 해야 합니까?수업 이름만 바꿔도 될 것 같아요하지만 그것을 처리할 수 있는 더 우아한 방법이 있습니까(아마도 내에서).
AndroidManifest.xml
)?
예, 사용자는AndroidManifest.xml
파일. 응용 프로그램 매니페스트에 둘 이상의 실행 프로그램 활동을 지정할 수도 있습니다.시작 프로그램에서 활동을 표시하려면 매니페스트의 활동에 다음 속성을 추가합니다.
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
프로젝트의 루트 폴더에 있는 AndroidManifest.xml로 이동하여 먼저 실행할 활동 이름을 변경합니다.
예:
<activity android:name=".put your started activity name here"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Android Studio를 사용하는 경우 이전에 시작할 다른 활동을 선택했을 수 있습니다.
클릭Run > Edit configuration
그런 다음 Launch default Activity가 선택되어 있는지 확인합니다.
<application
android:icon="@drawable/YOUR_ICON" <!-- THIS ICON(IMAGE) WILL BE SHOWN IN YOUR APPS -->
android:label="MY APP NAME " > <!-- HERE LABEL(APP NAME) -->
<activity
android:name=".application's starting activity" <!-- (.)dot means current dir, if your activity is in another package then give full package name ex: com.xxx.Activity -->
android:label="LABEL FOR ACTIVITY "
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
아래 지침을 따릅니다.
1:) 파일 열기AndroidManifest.xml
파일.
2:) 아래와 같이 주요 활동을 만들 활동 코드로 이동합니다.
예를 들어, 나는 스플래시 스크린을 주요 활동으로 만들고 싶습니다.
<activity
android:name=".SplashScreen"
android:screenOrientation="sensorPortrait"
android:label="City Retails">
</activity>
3:) 이제 다음과 같은 활동 태그 사이에 아래 코드를 복사합니다.
<activity
android:name=".SplashScreen"
android:screenOrientation="sensorPortrait"
android:label="City Retails">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
또한 새로 추가된 행이 다른 활동 태그와 함께 첨부되지 않았는지 확인합니다.
이것은 고치기 쉽습니다.
- 시작 프로그램 활동에 대한 변경사항도 디버그 구성에 저장됩니다.
- 에 가다
Run > Debug Configurations
설정을 편집합니다. - Intellij에도 유사한 설정이 있습니다.
Run > Edit Configurations
Run default Activity(기본 활동 실행)를 선택하면 더 이상 이러한 방식으로 설정이 저장되지 않습니다.
간단합니다.이 작업을 수행합니다.Manifest
파일.
<activity
android:name="Your app name"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
AndroidManifest.xml 파일로 이동하여 아래와 같이 추가하십시오.
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
그런 다음 안드로이드 프로젝트를 저장하고 실행합니다.
활동을 시작할 항목을 추가합니다.android:exported="true"
와 같은 매니페스트 파일로.
<activity
android:name=".activities.activity.MainActivity"
android:windowSoftInputMode="adjustPan"
android:exported="true"/>
<activity
이 활동의 Java 파일을 열고 마우스 오른쪽 단추를 클릭한 다음 '주 활동 실행'을 클릭합니다.
OR
이 활동의 Java 파일을 열고 ++ShiftF10를 누릅니다.
최근 프로젝트에서 AndroidManifest.xml의 기본 작업을 다음과 같이 변경했습니다.
<activity android:name=".MyAppRuntimePermissions">
</activity>
<activity android:name=".MyAppDisplay">
<intent-filter>
<action android:name="android.intent.activity.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Android Studio 3.6에서는 이 오류가 발생한 것 같습니다.저는 이 기술을 예제 응용 프로그램에서 사용했지만, 실제 응용 프로그램에서 사용하면 완전히 실패합니다.IDE는 다시 한 번 다음을 보고합니다.
앱 실행 중 오류 발생: 기본 활동을 찾을 수 없습니다.
IDE가 도구 모음의 "앱 실행" 공간에서 구성 오류를 여전히 나타냄(이 스크린샷의 노란색 화살표)
이 오류를 수정하기 위해 프로젝트를 여러 번 다시 빌드하고 마지막으로 File >> "Invalid Cache/Restart"를 시도했습니다.이것은 도움이 되지 않았습니다.응용프로그램을 실행하려면 "구성 편집"을 수행하고 기본 활동 대신 특정 활동을 가리켜야 했습니다.
AndroidManifest.xml에서
여기서 첫 번째 활동을 주 활동 대신 주 활동 4로 변경했습니다.
이전:
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity2" />
<activity android:name=".MainActivity3" />
<activity android:name=".MainActivity4" />
<activity android:name=".MainActivity5" />
<activity android:name=".MainActivity6"/>
이후:
<activity android:name=".MainActivity" />
<activity android:name=".MainActivity2" />
<activity android:name=".MainActivity3" />
<activity android:name=".MainActivity4" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity5" />
<activity android:name=".MainActivity6"/>
디버그에서 오류가 발생한 사용자를 위해\AndroidManifest.xml 파일에 태그가 포함되어 있는지 확인합니다!"<액티비티 안드로이드:name=.Main Activity>"
예:
<activity android:name=".MainActivity"><intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter></activity>
언급URL : https://stackoverflow.com/questions/3631982/change-applications-starting-activity
'programing' 카테고리의 다른 글
문자열을 null 가능한 int로 구문 분석하는 방법 (0) | 2023.06.03 |
---|---|
텍스트 보기에서 텍스트를 가로 및 세로로 중앙에 배치하려면 어떻게 해야 합니까? (0) | 2023.06.03 |
iOS 7 사이즈속성 포함: sizeWithFont: 제약된 ToSize에 대한 대체 (0) | 2023.06.03 |
Tomcat 8.5.x 및 TomEE 7.x를 이클립스와 함께 사용하는 방법은 무엇입니까? (0) | 2023.06.03 |
디스플레이: 인라인과 디스플레이: 인라인 블록의 차이점은 무엇입니까? (0) | 2023.06.03 |