¿Cómo crear una pantalla de bienvenida única utilizando las preferencias de Android?

Me gustaría crear una pantalla que solo aparezca una vez después de que se inicie la aplicación. Después, solo se mostrará la pantalla principal. La forma en que implementé esto fue solo para verificar las preferencias y establecer el diseño actual basado en una bandera. ¿Hay algún inconveniente para implementarlo de esta manera? ¿Hay alguna manera mejor?

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //Here is the main layout
        setContentView(R.layout.main);      

        mPrefs = PreferenceManager.getDefaultSharedPreferences(this);

        // second argument is the default to use if the preference can't be found
        Boolean welcomeScreenShown = mPrefs.getBoolean(welcomeScreenShownPref, false);

        if (!welcomeScreenShown) {
            //Here I set the one-time layout
            setContentView(R.layout.popup_message);             
            SharedPreferences.Editor editor = mPrefs.edit();
            editor.putBoolean(welcomeScreenShownPref, true);
            editor.commit(); // Very important to save the preference
        }
    }

Respuestas a la pregunta(2)

Su respuesta a la pregunta