如何在后台开始活动并在之后显示?

Sol*_*ong 7 android splash-screen android-activity

我有两项活动,一个是 SplashActivity,另一个是MainActivity,包含网页视图的活动.

我需要在显示启动画面时加载webview.所以我正在寻找一种在后台加载MainActivity的方法SplashActivity::onCreate();

如果直接调用intend,MainActivity会立即显示在前面,并且会停留在webview中.

我抬起头来了很多关于启动画面像解决方案的这个 .但是,在启动时间到期之前,它们不会初始化MainActivity.

use*_*904 14

你可以启动MainActivity第一和启动SplashActivityonCreate()MainActivity.在所需的持续时间之后,您可以关闭SplashActivityMainActivity重新出现,以便它看起来好像您已从Splash启动Main.

让我解释一下 -

在你的MainActiviy使用中intent,首先SplashActivity使用startActivity而不是startActivityForResult因为你不希望将结果传回SplashActivityMainActivity.

现在您进入SplashActivity,启动一个线程并在线程中等待所需的持续时间,然后调用finish()以便SplashActivity关闭并且先前开始MainActivity到达前台.

希望这可以帮助.


Mr.*_*.Me 6

Android应用可以缓存网络数据.你可以利用这个优势.(它对我有用).我做了什么:

  • 我在启动画面中创建了一个WebView.
  • 没有将它附加到UI,
  • 请求主要活动中我需要的网页.
  • 一旦加载了启动画面中的WebView,就启动另一个Activity.

WebView将使用您在初始屏幕中创建的WebView的缓存.