programing

응용 프로그램의 시작 활동 변경

megabox 2023. 6. 3. 08:22
반응형

응용 프로그램의 시작 활동 변경

응용프로그램의 고기와 내장을 만들었지만 시작점이 될 다른 활동(로그인 화면)을 추가하고 싶습니다.

몇 가지 질문:

  • 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 ConfigurationsRun 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

반응형