Способ, которым я делаю это в своих приложениях, заключается в том, чтобы ваша основная деятельность расширяла ActivityGroup.
public class App extends ActivityGroup {
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.splashscreen);
new Thread(new Runnable() {
public void run() {
// do your loading here
final LocalActivityManager lam = getLocalActivityManager();
runOnUiThread(new Runnable() {
public void run() {
Intent mainIntent = new Intent(MainActivity.class, App.this);
Window w = lam.startActivity("main", mainIntent);
setContentView(w.getDecorView());
}
}
}
}, "App loading thread").start();
}
}
Таким образом, когда приложение возобновляет работу, вы сразу же получаете приложение, а не заставку, и вы толькозагрузить ваши данные один раз (при запуске приложения).
Я на самом деле использую это, чтобы убедиться, что пользователь вошел в систему при запуске приложения, и если комбинация имени пользователя и пароля неправильная, я не запускаюОсновное приложение, но экран входа в систему:)