Java 如何显示最近的活动?

Java 如何显示最近的活动?,java,android,Java,Android,我在Android demo中创建了4个活动。当我 从我的第一个活动运行应用程序以显示第二个活动 以此类推。我试图让数据保持和我出生时一样 按下3活动中的后退按钮,应用程序将退出,但 当我返回到第三个活动和数据时,我会重新启动 保持原样。我使用的是使用意图的共享偏好 但它不能正常工作 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState)

我在Android demo中创建了4个活动。当我 从我的第一个活动运行应用程序以显示第二个活动 以此类推。我试图让数据保持和我出生时一样 按下3活动中的后退按钮,应用程序将退出,但 当我返回到第三个活动和数据时,我会重新启动 保持原样。我使用的是使用意图的共享偏好 但它不能正常工作

@Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash_screen);



        final SharedPreferences sharedPref=this.getSharedPreferences("MY_PREF_1",MODE_WORLD_READABLE);
        SharedPreferences.Editor shredPref_Editor=sharedPref.edit();
        //shredPref_Editor.putString(MY_ACTIVITY,"splash_activity");
        prefName = sharedPref.getString(MY_ACTIVITY,"splash_activity");

        handler = new Handler(){};

        runnable = new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub

                if(prefName == "splash_activity" || prefName.toString().trim().equals("Number_Activity"))
                {
                    Intent i1=new Intent(Splash_Screen_Activity.this,Number_Activity.class);
                    startActivity(i1);
                }


                else if(prefName.toString().trim().equals("pin_number_activity"))
                {
                    Intent i2=new Intent(Splash_Screen_Activity.this,PIN_Number_Activity.class);
                    startActivity(i2);
                }


                else
                {
                    Intent i3=new Intent(Splash_Screen_Activity.this , Custom_Title_Bar_Activity.class);
                    startActivity(i3);
                }

            }
        };






 public class Number_Activity extends Activity
    {
        private final String MY_ACTIVITY = "Number_Activity";

    public void onCreate(Bundle savedInstanceState)
        {

            super.onCreate(savedInstanceState);
            setContentView(R.layout.cell_number);

            SharedPreferences sharedPref=this.getSharedPreferences("MY_PREF_2",MODE_WORLD_READABLE);
            SharedPreferences.Editor shredPref_Editor=sharedPref.edit();
            shredPref_Editor.putString(MY_ACTIVITY,"number_activity");
            shredPref_Editor.commit();
        }   
    }




public class PIN_Number_Activity extends Activity
{
    private final String MY_ACTIVITY = "PinNum_MyActivity";


         public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pin_number);

        SharedPreferences sharedPref=this.getSharedPreferences("MY_PREF_3",MODE_WORLD_READABLE);
        SharedPreferences.Editor shredPref_Editor=sharedPref.edit();
        shredPref_Editor.putString(MY_ACTIVITY,"pin_number_activity");
        shredPref_Editor.commit();
        }
}





public class Custom_Title_Bar_Activity extends Activity
{
    private final String MY_ACTIVITY = "Main_Activity";


protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Boolean customTitleSupported=requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.main_for_ctitlebar);

        SharedPreferences sharedPref=this.getSharedPreferences("MY_PREF_4",MODE_WORLD_READABLE);
        SharedPreferences.Editor shredPref_Editor=sharedPref.edit();
        shredPref_Editor.putString(MY_ACTIVITY,"main_activity");
        shredPref_Editor.commit();

}

}

您应该覆盖onBackKeyPressed,然后更改SharedPref中的值。为什么要使用四种不同的共享首选项?我认为你需要从共享偏好中获得价值观。现在,您只是将值放入其中。然后你们会得到什么值?当点击后退按钮时,如何在相同的活动上启动应用程序。这样就可以使用共享首选项了。