1

3 가지 활동이있는 Android 앱이 있습니다. 기본적으로 세 가지 활동을 모두 포함하는 하나의 인스턴스를 원합니다.전체 앱의 한 인스턴스 만 여러 액티비티

활동 A, B 및 C의 경우 사용자가 한 번에 그 중 하나만 볼 수 있기를 바랍니다. 이러한 활동 중 여러 사례가 필요하지 않습니다. 내가 어떤 방식으로 작동합니까 android:launchMode="singleTask" 어떤 종류의 작품을 시도했지만 사용자가 응용 프로그램에 반환하면, 그것은 항상 사용자가 홈 버튼을 누른 활동 B로 이동하는 대신 처음으로 활동 A를 시작합니다.

이 액티비티로 호스팅 된 모든 프래그먼트를 하나의 액티비티로 이동하고 액티비티 B와 C를 삭제하는 것이 가장 좋을까요? 활동 A는 로그인/가입 페이지 인 하나의 프래그먼트 만 호스트합니다.

singleTask launch mode을 사용하면 다른 활동을 시작할 때 여전히 Intent 플래그를 추가해야합니까?

답변

0

그래서 활동 A, B 및 C의 경우 사용자가 한 번에 하나씩 만 볼 수있게하고 싶습니다.

에만 초점을 맞출 수 있습니다. Activity 옆에 또 다른 Activity이 표시 될 수 있습니다 (즉, 가장 상단이 ActivityDialog으로 주제 될 수 있음). 단 하나의 Activity에만 포커스가 있습니다. 따라서 사용자는 한 번에만 Activity과 상호 작용할 수 있습니다.

는 항상 B 활동에가는 첫번째 대신 다시 활동를 시작

안드로이드는 항상 처음의 AndroidManifest.xml에서

<intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

으로 표시됩니다 Activity 시작됩니다. 이 Activity이 호출되지 않았다는 환상을 만들기 위해 로직을 추가하고 Intent을 해당 로직에 추가 할 수 있습니다.

나를 그냥 이러한 활동을 하나 개의 활동에 가 주최하는 모든 조각을 이동하고 멀리 활동 B와 C로 수행하는 것이 가장 좋은 것입니다?

전적으로 귀하에게 달려 있습니다. 제 생각에 Fragments을 사용하는 것이 더 적절할 수 있습니다. 사용자가 더 부드럽게 보일 수도있는 새로운 Activity을 만들지 않고 논리적 조건 (즉, 로그인했는지 여부)에 따라 쉽게 바꿀 수 있기 때문입니다.

0

세 개의 activitiew 대신 ViewPager를 사용하여 세 조각을 사용해야합니다.

+0

단일 활동에서 여러 단편의 사용을 단순화 할 라이브러리가 있습니다. 도움이 필요하면 .. Library ViewPagers .. 및 샘플 코드를 사용하는 방법을 제안 할 수 있습니다. –

관련 문제