将值从Activity2传递到Activity1而不访问Activity1

时间:2018-03-22 18:55:15

标签: java android android-activity

我有loginActivityMainActivity

我使用SharedPreferencesloginActivity的某些变量中存储了一些值。现在我想在MainActivity中使用这些值(它们是boolean值),而无需重新打开MainActivity。我该怎么做?

另外,SharedPreferences采用onClick方法button。 谢谢!

2 个答案:

答案 0 :(得分:0)

我假设MainActivity首先开始,而loginActivity位于堆栈顶部。 loginActivity完成后,您可以阅读SharedPreferences中的MainActivity#onResume

如果您的意思是想要在MainActivity中执行背景或背景中的事情,请不要这样做。不在前台的活动不应该做任何工作,实际上根本不可能存在。

答案 1 :(得分:0)

有两种方式

1.如果您在共享偏好设置中设置了值,则可以从具有相关权限的任何活动中访问它们。

2.Pass从一个活动移动到另一个活动,如果需要则关闭另一个活动。

        Intent toMain = new Intent(LoginActivity.this, MainActivity.class);
        toMain.putExtra("bool1", "true"); //Optional parameters
        LoginActivity.this.startActivity(toMain);
        //To prevent go back to login
        finish();

然后从onAreate of mainActivity

Bundle fromLogin = getIntent().getExtras();
if (extras != null) {
    String value = extras.getString("bool1");
    //convert this to boolean
}