Ses çalmaya başlayan ve onResume() yönteminde oyun oynamaya başlayan/devam ettiren bir uygulama var, ancak dikkatimi çeken şey, telefonu bekleme moduna aldığımda son uygulama olduysa (ekran kapalı), ve ben sadece zamanı kontrol etmek için Menü düğmesine basın, sonra telefon oyun oynamaya başlar ve arka planda sesler (uygulama aslında görünmüyor, sadece tarih/saat olan ekran, henüz OnResume çağrılmalıydı) benim uygulamam). Burada ne yapmalıyım? Uygulamanın yeniden etkinleştirilmesini ayırt etmenin bir yolu var ve ardından uygulama yalnızca gerçekte görünür olduğunda oyunu başlatan bir koşullu ifade ekliyor mu?Android - onPause/onResume yöntemlerini düzgün bir şekilde nasıl kullanırız?
@Override
protected void onResume()
{
mySaveGame = Utilities.loadSavegame(this);
//check the savegame
if(mySaveGame!=null)
{
//start game using savegame values
this.startFromSavedGame(mySaveGame.getIsLevelComplete());
}
else
{
//run the 1st-run components
this.startFirstRun();
}
super.onResume();
}
ben ekran açık olur her başlamasını oyunu engellemek için yaptığını düşünebilirsiniz tek şey (app görünür olmasa bile) 'dir: İşte
benim onResume gelen snippet'idir this.finish() öğesini onPause() 'daki son satır olarak koymak için ... ama bu, uygulamanızın yeniden başlatılmasını istediğiniz her seferinde uygulamayı yeniden başlatmaya zorlar. veri, ama bu zarif bir çözüm değil). LütfenYardım edin.
Teşekkür yanıtlarken için. OnStart()/onStop() 'ı denedim ama aynı sonuçları elde ettim ... Oyun aslında görünmese bile arka planda çalıyor. Belgelere göre, onStart() onResume() önce çağrılır (bu yüzden benim durumumda işe yaramaz) ve onStop() "asla çağrılabilir ..." – RyanM
Hmmmm ... Bu kilit gibi geliyor ekranın ön plana sahip olduğu düşünülüyor. Bunu hangi cihazda test ediyorsunuz? – CommonsWare
Bir T-Mobile G1 (Android 1.6 hisse senedi yazılım) kullanıyorum. – RyanM