从首次启动android应用程序时的不同活动开始

Voi*_*0mm 1 android launch android-activity

有没有一种方法可以在启动时启动一次不同的活动?如果我立即从主活动中启动设置活动,则会暂停1秒,并显示白屏。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent myIntent = new Intent(this, home2.class);
        this.startActivity(myIntent);
        finish();
        ...

    }
Run Code Online (Sandbox Code Playgroud)

Bos*_*jin 5

这可以通过几种方式来完成。其中之一是共享首选项的使用,其中将存储有关所访问活动(例如介绍活动)的数据。

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
boolean isAccessed = prefs.getBoolean(getString(R.string.is_accessed), false);
if(!isAccessed) {
    SharedPreferences.Editor edit = prefs.edit();
    edit.putBoolean(getString(R.string.is_accessed), Boolean.TRUE);
    edit.commit();
    showIntroActivity();
} else {
    startReqularActivity();
}
Run Code Online (Sandbox Code Playgroud)

另外,还有更多方法可以完成该请求(例如->将访问状态存储在db或属性文件中,或者如果必须从某个后台控制应用程序,则将其存储在云中)。IMO这是实现该功能的最佳方法-当然也是最简单的方法。

这只是个主意(功能齐全),您可以根据需要进行调整。