2011-02-28 75 views
0

我创建了我的android应用程序的splashscreen。我沿着这条路线走了一段自己的活动,在splashthread中展示自己,然后加载“MainMenu”活动。 这工作正常,直到我想要退出应用程序。 当我点击“后退按钮”时,我看到MainMenu窗口。当我第二次点击“后退按钮”时,我看不到闪屏,我再次看到MainMenu。额外的“后退”将结束该应用程序。安卓splashscreen怪异时退出

不好,有没有什么好的提示如何避免这种行为? 最重要的当然是从“MainMenu”点击“返回”时直接结束应用程序,但是我想我需要重新建模splashscreen以成为该活动的一部分呢?启动MainMenu的活动后,立即

Splashcode

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash); 
    Thread splashThread = new Thread() { 
     @Override 
     public void run() { 
      try { 
      Log.d("Trying","Tries"); 
      int waited = 0; 
      while (waited < 5000) { 
       sleep(100); 
       waited += 100; 
      } 
      } catch (InterruptedException e) { 
       Log.d("Catching", e.toString()); 
      } finally { 
      finish(); 
      Intent i = new Intent(UEABB.this,MainMenu.class); 
      UEABB.this.startActivity(i); 
      startActivity(i); 

      } 
     } 
    }; 
    splashThread.start(); 
} 

问候

+0

顺便说一句,不应该在'startActivity(i)'之后调用finish吗?这是异步的,所以我首先启动意图,然后调用finish() – Juri 2011-02-28 07:07:14

+0

你可能是对的,我会尝试,肯定;) – elwis 2011-02-28 18:33:08

+0

不,我在startActivity(i)调用后移动了“finish()”,没有不同。我仍然需要额外的“后退”才能真正退出应用程序,烦人! – elwis 2011-03-01 05:09:35

回答

2

尝试在manifest.xml中的SplashScreen Activity上明确设置android:noHistory="true"。在设计我的“最新动态”活动时,我采用了类似的方法。

<activity android:name=".activities.WhatsNewActivity" 
    android:label="Version History" android:noHistory="true"> 
    <intent-filter> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

尽管如此,一旦切换到其他活动,您应该致电finish()

+0

是从这个启动画面开始另一个活动,他应该关闭这一个完成()。认为这将解决不需要安卓历史的问题 – GoodSp33d 2011-02-28 07:07:28

+0

“没有历史”的标签没有任何显着的变化,我想我只能忍受那些额外的“后退”或重写整个事情 – elwis 2011-03-01 05:13:44

1

你splashthread活动应该叫finish()。这将从堆栈中删除它,它不应该干扰退出应用程序。

除非您正在使用事件处理程序中的后退键,否则我无法想到可能导致此行为的任何其他问题。也许你可以发布splashthread的代码。

+0

我添加了代码,我称之为完成,并且我不干涉任何地方的“返回”按钮。奇怪.. – elwis 2011-02-28 06:56:22

+0

这可能是因为splashcreen活动是应用程序中的第一个活动吗?我想不出任何理由,就我所见,这一切都是由Google的书完成的。 – elwis 2011-03-01 05:42:46