只在新启动时显示闪屏,不在后台运行时显示闪屏。
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_intro);
Handler handler = new Handler();
handler.postDelayed(() -> {
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
finish();
},2000);
}
}
为显示闪屏创建新的活动。然后在你的AndroidManifest.xml中移动
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
从MainActivity到你的spash活动标签。
通常一个在后台运行的应用程序在被调用到前台时,会恢复到之前访问的活动片段。如果每次恢复时都跑到闪屏,说明你没有正确管理你的活动生命周期。