0

삼성 갤럭시 탭 10.1 "(Android 3.1)에서 간단한 테스트 활동을 실행하면 홈 화면 배경이 잠깐 깜박입니다 FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
하지 않고 실행하는 경우 - -. TestActivity2이 플래시
볼 수 없습니다새로운 활동을 시작할 때 홈 화면 배경이 초 단위로 표시됩니다.

시작되는 갤럭시 탭 7 "에서 실행할 때이 플래시의 원인이 무엇 안드로이드 2.3

어떤 생각을 실행하고 어떻게 할 수 그것을 피하시오?

public class TestActivity1 extends Activity 
{ 
    protected void onCreate(Bundle savedInstanceState) 
    { 
    super.onCreate(savedInstanceState); 
    TextView t = new TextView(this); 
    t.setText("TestActivity1"); 
    t.setOnClickListener(new View.OnClickListener() 
    { 

     @Override 
     public void onClick(View v) 
     { 
     //start TestActivity2 
     Intent intent = new Intent(getApplicationContext(), TestActivity2.class);   
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); 
     startActivity(intent);   
     } 
    }); 
    setContentView(t); 
    } 

} 

로하고 FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET없이 테스트 실행의 로그 캣을 비교

, 나는 다음과 같은 차이가났습니다. FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET 함께

... INFO는/SurfaceFlinger의 (223) 식 (71)이 제거 com.zappware.test/com.zappware.test.TestActivity1 IDX = 2지도 크기 = 3

FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET없이

... INFO가/SurfaceFlinger의 (223) 식 (75)이 제거 com.zappware.test/com.zappware.test.TestActivity1 IDX = 3지도 크기 = 3

아마도 도움이 될 수 있습니까?

+0

왜 당신이 첫번째 장소에있는 플래그를 사용하는 Intent.FLAG_ACTIVITY_CLEAR_TOP –

+0

와 TestActivity1를 다시 시작할 때 같은 일이 발생? XML 파일을 만들고 콘텐츠 뷰를 설정해 보았습니까? – sfratini

+0

@sfratini : 세부 정보가 포함 된 활동을 시작할 때이 플래그를 사용하고 있습니다. 사용자가 집을 누르면이 세부 정보 페이지로 돌아가고 싶지 않고보다 일반적인 개요 활동으로 돌아갑니다. –

답변

0

글쎄, 당신은 아마 그 일이 일어나는 이유가 스택을 청소하고 있습니다. 뒤로 버튼 동작을 재정의 할 것을 제안 할 수 있습니까?

http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html

편집 :

나는 이런 식으로 뭔가를 생각했다. 이 작업을 수행 할 수 있습니다 2.0로 시작 :

@Override 
public void onBackPressed() { 
Intent intent = new Intent(getApplicationContext(), MyActivity.class); 
startActivity(intent); 
} 
+0

실제로 스택과 관련이있을 수 있습니다. 그러나 ... FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET을 사용하면 스택이 지워지지 않습니다. Activity1에서 Activity2로 이동하면 Activity1이 스택에 남아 있습니다. 이 플래그는 Activity2가 활성화되어있을 때 HOME 키를 누를 때만 적용됩니다.두 번째 경우에도 마찬가지입니다. FLAG_ACTIVITY_CLEAR_TOP을 사용하여 Activity1에서 Activity1로 이동할 때 Activity1이 스택에 남아 있습니다. 스택 맨 위에있는 활동 만 제거되므로 스택이 비어서는 안됩니다. –

+0

FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET을 사용하는 목적은 다음과 같습니다. : FLCD_ACTIVITY_CLEAR_WHEN_TASK_RESET을 사용하여 ABCD 및 C 및 D 활동을 시작했다고 가정하십시오. HOME을 누르면 스택이 A-B로 트림됩니다. 뒤로 버튼 동작을 재정의하기 위해 귀하의 제안에 만족하며 (귀하의 도움에 감사드립니다.) 그러나 이것이 도움이 될 수있는 이유에 대해 조금 자세히 설명해 주시겠습니까? –

+0

글쎄, 당신은 사용자가 이전의 스택 대신에 특정 Activity로 돌아가도록하고 싶다고 말하고있다. 뒤로 버튼 동작을 오버하면 해당 활동에서만 해당 동작을 수행하고 모든 활동에 대해 정상적인 동작을 유지할 수 있습니다. 내 편집을 참조하십시오. – sfratini

관련 문제