2012-10-06 4 views
0

그래서 사용자가 프로그램을 열 때마다로드해야하는로드 작업이 있습니다. 매니페스트의 주 활동으로로드 활동이 있습니다. 로딩 활동이 성공하면 HomeActivity를 시작합니다. HomeActivity에서 뒤로 버튼을 누르면 앱에 다시 액세스하려고 할 때 LoadingActivity가 실행됩니다. HomeActivity에서 홈 버튼을 누르면 LoadingActivity로 이동하지 않고 HomeActivity로 돌아갑니다.로드 작업은 매번 실행해야합니다.

clearTaskOnLaunch 및 FinishOnTaskLaunch를 추가하려고했습니다. 홈 버튼 캡처를 시도했지만 작동하지 않습니다. onPause 또는 onStop을 끝낼 수 없습니다. HomeActivity가 HomeActivity 위에 열리는 액티비티를 시작한 다음 다시 액티비티에 드롭합니다. 무엇에 관한 아이디어가 있습니까? 매니 페스트를 드러내고, 아직 안드로이드 매니페스트를 배우므로 나를 죽이지 마세요.

<activity 
     android:name=".start.LoadingActivity" 
     android:screenOrientation="portrait" 
     android:clearTaskOnLaunch="true"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".HomeActivity" 
     android:label="@string/title_activity_home" 
     android:screenOrientation="nosensor" 
     > 
    </activity> 

답변

0

홈 버튼 기본 기능은 활동을 종료하지 않고 홈 화면으로 이동하는 것입니다. Android 사용자는 집 버튼을 누른 후 앱으로 돌아올 때의 화면을 찾을 수 있습니다. 그래서 나는 당신이 당신의 디자인을 바꿀 것을 권했다. 그러나 당신이 그것을 당신의 방법대로해야한다면, 여기 당신이 사용할 수있는 하나의 논리가 있습니다.

주 활동을 시작할 때마다 공유 환경 설정에서 플래그 (예 : from_main = true)를 설정하십시오. 그런 다음 주 활동을위한 onPause에서 from_main이 true인지 확인하십시오. 그것이 사실이라면 finish()를 호출하십시오. 그렇지 않다면 아무 것도하지 마십시오.

이제 기본 활동에서 다른 활동을 실행하면 공유 환경 설정에서 from_main 플래그가 false로 설정됩니다.

이렇게하면 main에서 다른 활동을 시작하기 전에 또는 onfause를 시작한 후에 onPause를 호출하면됩니다. 시작하기 전에 주를 끝내지 않고 다시 내려 놓을 수 있습니다. 그것을 시작한 후에라면, 그것은 주요 활동을 끝낼 것입니다.

+0

로드 할 때마다 동일한 디자인을하는 몇 가지 앱이 있습니다. 당신의 아이디어에 감사드립니다. 이 정말 짜증나는 문제를 해결하는 좋은 아이디어 인 것 같습니다. – slai47