Android 仅在首次启动时显示活动

Android 仅在首次启动时显示活动,android,sharedpreferences,startup,Android,Sharedpreferences,Startup,我有一个叫做DataActivity的活动,我希望它在我第一次打开应用程序时就显示出来,以后再也不会显示。我希望我的主要活动成为我的第一个活动,有人能告诉我我是怎么做的吗?(我对编码还很陌生,所以如果您能给我一点代码,我将不胜感激……)谢谢! 亲切的问候!:) 您可以将一个条目保存到SharedReferences中,指示DataActivity已显示一次,然后在DataActivityonCreate()中执行以下操作: boolean dataShownOnce = checkSharedP

我有一个叫做DataActivity的活动,我希望它在我第一次打开应用程序时就显示出来,以后再也不会显示。我希望我的主要活动成为我的第一个活动,有人能告诉我我是怎么做的吗?(我对编码还很陌生,所以如果您能给我一点代码,我将不胜感激……)谢谢!
亲切的问候!:)

您可以将一个条目保存到
SharedReferences
中,指示
DataActivity
已显示一次,然后在
DataActivity
onCreate()中执行以下操作:

boolean dataShownOnce = checkSharedPreferencesForDataActivityShown();
if (dataShownOnce) {
    // Go to MainActivity
    startActivity(new Intent(this, MainActivity.class);
    finish();
} else {
    // Showing DataActivity for the first time, continue with the normal logic
}
这里有一个关于使用
SharedReferences
的非常好的教程:

尝试下面的代码:

public class HelperActivity extends Activity {

    SharedPreferences prefs = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Perhaps set content view here

        prefs = getSharedPreferences("com.mycompany.myAppName", MODE_PRIVATE);
    }

    @Override
    protected void onResume() {
        super.onResume();

        if (prefs.getBoolean("firstrun", true)) {
            // Do first run stuff here then set 'firstrun' as false
            // start  DataActivity because its your app first run
            // using the following line to edit/commit prefs
            prefs.edit().putBoolean("firstrun", false).commit();
            startActivity(new Intent(HelperActivity.this , DataActivity.class));
            finish();
        }
        else {
        startActivity(new Intent(HelperActivity.this , MainActivity.class));
        finish();
        }
    }
}
此活动将通过在SharedReference中存储布尔值来帮助您决定是否第一次运行应用程序,并根据此操作启动相应的活动


将此活动设置为启动程序活动。

调用startActivity(intent)启动MainActivity后,请调用finish();在DataActivity上。可能重复感谢!有一个答案,这是有点一样的事情,但感谢你的教程!也帮了我很多!