我有两项活动 SplashScreen 和 MainActivity 。
MainActvity下载一些数据并显示它。
现在我想在应用程序启动,后台的MainActivity和前台的SplashScreen上启动这两项活动,当MainActivity下载的数据完成时,我想让MainActivity成为前台并完成SplashScreen。
我见过许多解决方案,但在我的情况下,没有人能做得好。 请给我一些建议或示例。
答案 0 :(得分:0)
我认为制作启动画面下载数据以及完成后显示新活动(MainActivity)会更好。在onStart metod中使用存储在手机上的下载数据。
您的示例:唯一的方法您可以通过首先启动MainActivity并从onStart启动SplashScreen来解决此问题:
class SplashScreen extends Activitiy {
public void onStart() {
EventBus.register(this);
}
@Subscribe
public void finishedDownload(FinishedDownloadEvent) {
this.finish()
}
}
class MainActivity extens Activity () {
public void onStart () {
open(new Intent(SplashScreen.class)); // We would like to have
download();
}
public void download (OnFinish onFinish) {
... download
EventBus.post(new FinishedDownloadEvent());
}
}
我忘了:
class EventBus {
private final static Bus instance = new Bus();
public static void register (Object obj) {
instance.register(obj)
}
public static void post (Event obj) {
instance.post(obj)
}
}