0

以下の簡単なテストアクティビティをSamsungGalaxyTab 10.1 "(Android 3.1)で実行すると、TestActivity2が開始される前に、ホーム画面の背景が短く点滅します。

このフラッシュは表示されません
-FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESETなしで実行している場合-Android2.3を
実行しているGalaxyTab7"で実行している場合

このフラッシュの原因と、それを回避する方法について何か考えはありますか?

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を使用した場合と使用しない場合のテスト実行のLogCatを比較すると、次の違いに気づきました。

FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESETを使用

... INFO / SurfaceFlinger(223):id =71削除されたcom.zappware.test/com.zappware.test.TestActivity1idx=2マップサイズ=3

FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESETなし

... INFO / SurfaceFlinger(223):id=75削除com.zappware.test/com.zappware.test.TestActivity1 idx=3マップサイズ=3

多分これは助けることができますか?

4

1 に答える 1

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);
}
于 2012-01-03T21:17:29.723 に答える