2017-02-12 2 views
-1

Android 앱을 다시 시작하고 싶지만 앱을 다시 시작한 후 특정 활동으로 이동하려고합니다.특정 활동으로 Android 앱 다시 시작

현재이 코드를 사용하여 내 앱을 다시 시작했지만 첫 번째 활동으로 돌아갑니다. 다른 특정 활동으로 이동해야합니다.

사용자가 자신의 응용 프로그램 색상을 선택할 수있는 응용 프로그램에서 설정 페이지를 만들었습니다. 색상을 선택한 후에는 사용자가 선택한 새 테마를 적용하기 위해 모든 활동을 다시 시작해야합니다. 내가 처음 활동 응용 프로그램 다시 시작 사용하고

코드 : 첫 번째 활동의 onCreate()에서

Intent startActivity = new Intent(); 
      startActivity.setClass(ProfileSettingsActivity.this,ProfileSettingsActivity.class); 
      startActivity(startActivity); 
      finish(); 
+0

내가 왜 이것을 필요로하는지 알고 싶지 않지만'Activity # recreate()'메소드가 필요할 수 있습니다. –

+0

recreate() 메소드를 호출 할 수 있습니다. 자세한 내용은이 [thread] (http://stackoverflow.com/a/16467733/5371335)를 참조하십시오. –

답변

0

쉽게

Intent intent = new Intent(this, ANOTHER_SPECIFIC_ACTIVITY.class); 
this.startActivity(intent); 
finish(); 
+0

코드를 작성하지 마십시오. 당신이 한 일을 설명하십시오. – Zeta

+0

새로운 활동을 열지 않고 다시로드하려면 앱이 필요합니다. 내 변경 사항을 적용하려면 전체 앱을 다시로드해야합니다. –

+0

"현재이 코드를 사용하여 앱을 다시 실행하고 있지만 첫 번째 활동으로 다시 시작합니다. 다른 특정 활동으로 이동해야합니다." 나는 당신의 것으로 대체 할 수 있도록 ANOTHER_SPECIFIC_ACTIVITY를 넣었습니다. "풀 앱"이라고 말하는 것은 좋지 않습니다. 앱을 다시 시작하고 새로 시작하기 위해 시작 활동을 바꿀 수 있습니다. –

0

는, 그에 따라 다음 원하는 조건을 확인하고, 조건은 첫 번째 활동에서 setContentView()이 호출되기 전에 특정 활동에 대한 의도를 시작합니다.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if(CONDITION_1) { 
     startActivity(new Intent(this, ActivityA.class)); 
    } else if(CONDITION_2) { 
     startActivity(new Intent(this, ActivityB.class)); 
    } 
    setContentView(R.layout.activity_first); 
} 
0

모든 활동을 지우고 플래그로 새 활동을 시작하셨습니까?

Intent intent = new Intent(this, NEW_ACTIVITY.class); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(intent); 

이전에 만든 새로운 구성으로 NEW_ACTIVITY.class를 시작하는 모든 활동을 취소하는, 이렇게.