【发布时间】:2012-06-13 07:07:45
【问题描述】:
我根据教程制作了一个启动画面,它在 Android 2.3+ 甚至在 Android 4.0+ 上运行良好,但如果我在我的 Galaxy Tab (Android 3.1) 上运行它,它是 启动 TWICE 应用程序。 真的很烦人,在 3.1 上我能做些什么来解决这个问题?
代码如下:
public class SplashScreen extends Activity
{
protected boolean _active = true;
protected int _splashTime = 2000; // time to display the splash screen in ms
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
try{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
overridePendingTransition(0 , 0);
// thread for displaying the SplashScreen
Thread splashTread = new Thread() {
@Override
public void run() {
try {
int waited = 0;
while(_active && (waited < _splashTime)) {
sleep(100);
if(_active) {
waited += 100;
}
}
} catch(InterruptedException e) {
// do nothing
} finally {
// finish();
try{
Intent i = new Intent();
i.setClass(SplashScreen.this, MySecondActivity.class);
startActivity(i);
finish();
}
catch(Exception e)
{
ki(e);
}
}
}
};
splashTread.start();
}catch(Exception ex)
{
ki(ex);
}
}
@Override
public void onBackPressed() {
return;
}
//Toaster
public void ki(Exception message)
{
Toast myToast = Toast.makeText(getApplicationContext(), message.toString(), 1);
myToast.show();
}
}
如您所见,这是一个简单的线程活动更改,但是当它更改时,它会启动两次 MySecondActivity。
什么鬼?
编辑:
我刚刚意识到,这个错误只有在我在横向模式下启动应用程序时才会发生,而它是在启动/加载屏幕上。也许这是解决这个问题的宝贵信息..
【问题讨论】:
-
:|这是一篇不错的文章,但我必须使用它们。工作职责。
标签: android android-3.1-honeycomb