2014-02-05 3 views
0

В моем приложении, когда приложение запускается в первый раз, и я нажимаю кнопку «Главная» с устройства. А затем запустите его снова с самого начала. После этого каждый раз я запускаю его и нажимаю клавишу «Домой», а затем снова запускаю его начало с той же точки, где я его оставляю. Как решить эту ошибку при первом запуске?Пауза и возобновление не работают правильно

код-

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.history); 
     textView1 = (TextViewEx) findViewById (R.id.textView1); 
     textView1.setText("Text", true); 
     textView1.setMovementMethod(new ScrollingMovementMethod()); 
    } 

    public void onBackPressed() 
    {  
     intent = new Intent(History.this, MainActivity.class); 
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(intent); 
      finish(); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     objIntent = new Intent(History.this, PlayAudio.class); 
     stopService(objIntent); 
    } 

    @Override 
    public void onResume() 
    { 
     super.onResume(); 
     objIntent = new Intent(History.this, PlayAudio.class); 
      startService(objIntent); 
    } 

    @Override 
    protected void onStop() { 
     super.onStop(); 
    }  
} 
+0

Таким образом, ее не ведет себя должным образом * * только первый раз, когда вы нажимаете кнопку домой? – SoulRayder

+0

вам нужно сохранить состояние и данные по общим предпочтениям и каждый раз начать загрузку предыдущего состояния –

+1

Это известная проблема в android ... https://code.google.com/p/android/issues/detail?id= 2373 # c40 и см. Здесь http://stackoverflow.com/questions/17000097/fail-to-resume-the-activity-stack-during-1st-launching-after-installation и здесь http://stackoverflow.com/questions/16283079/re-launch-of-activity-on-home-button-but-only-the-first-time –

ответ

0

Попробуйте один

private boolean paused = false; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.history); 
    textView1 = (TextViewEx) findViewById (R.id.textView1); 
    textView1.setText("Text", true); 
    textView1.setMovementMethod(new ScrollingMovementMethod()); 
} 

... 

@Override 
protected void onPause() { 
    super.onPause(); 
    paused = true; 
} 

@Override 
public void onResume() 
{ 
    // On resume loads every times when activity starts after onCreate 
    super.onResume(); 
    if(paused){ 
     objIntent = new Intent(History.this, PlayAudio.class); 
     startService(objIntent); 
    } 
} 
+0

Я попробовал Не работает. –

+0

Вы хотите перезапустить активность каждый раз при запуске? – Milind

+0

Положить конец(); в событии onPause() во всех действиях, а также после каждого метода startActivity (intentObj). – Milind