如何回到之前的活动?

时间:2012-05-17 16:05:36

标签: java android

我正在开发一个带有5个接口的应用程序

我有一个用户必须输入密码的活动,在输入密码后,用户移动到下一个活动,但是当用户点击后退按钮并且他返回到密码活动时,输入的密码丢失了。 。我如何保持输入的密码?

代码:

back = (Button) findViewById(R.id.back);
back.setOnClickListener(new View.OnClickListener() {    

        public void onClick(View v1) {
            Intent backIntent = new Intent();
            backIntent.setClass(getApplicationContext(), LockAppActivity.class);
            backIntent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
            startActivity(backIntent);
            finish();
        }
    });

假设应用程序以活动A - >开头B - > C - > D - > ë

当用户从C移动到B时,在活动B中有一个“停用”按钮,当用户按下它时,所有用户设置都被清除,应用程序将退出,但是当我按下按钮时,它会带给我到布局C ......我怎么能改变这个?

    deactivate = (Button) findViewById(R.id.deactivate);
    deactivate.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v){ 
            final String STORAGE = "UniqueID_IMSI";
            SharedPreferences unique = getSharedPreferences(STORAGE, 0);
            SharedPreferences.Editor editor1 = unique.edit();
            editor1.putString("identifier", "");
            editor1.putString("simIMSI", "");
            editor1.commit();

            final String LOGIN_PASSWORD = "Login_Password";     
            SharedPreferences loginPassword = getSharedPreferences(LOGIN_PASSWORD, 0);
            SharedPreferences.Editor editor2 = loginPassword.edit();
            editor2.putString("loginPassword", "");
            editor2.commit();

            final String LOCK_APP_PASSWORD = "LockAppPassword";
            SharedPreferences userPassword = getSharedPreferences(LOCK_APP_PASSWORD, 0);
            SharedPreferences.Editor editor3 = userPassword.edit();
            editor3.putString("password", "");
            editor3.commit();

            final String PHONE_NUMBER = "Phone_Number";         
            SharedPreferences phone = getSharedPreferences(PHONE_NUMBER, 0);
            SharedPreferences.Editor editor4 = phone.edit();
            editor4.putString("phoneNumber", "");
            editor4.commit();

            finish();
        }
    });
}

2 个答案:

答案 0 :(得分:1)

  

如何维护输入的密码

将用户输入的密码保存在SharedPreference中,并在Activity的onResume()函数中调用SharedPrefrence中保存的密码并将其显示给用户。 您可能希望花些时间尝试了解活动生命周期。

  

应用程序将退出

看看这个link。 @Romain Guy,是一个谷歌人。您可能希望重新考虑您的应用程序设计。

答案 1 :(得分:0)

我最喜欢的关闭应用程序问题的解决方案是:

  • 考虑将“startActivityForResult”用于您希望在特定事件发生时关闭的活动。
  • 你也可以使用一些意图标志,但我认为它们非常混乱,尽量少用它们
  • 使用片段而不是活动。您可以准确选择要显示的片段和时间。