如何在不启动第二个活动的情况下将数据从活动传递到另一个活动?

时间:2017-10-23 19:07:28

标签: android android-activity pass-data

我想将数据从一个活动传递到第二个活动但没有启动第二个活动。因为使用Intent我们必须以意图启动活动,但我不想开始此活动。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

SharedPreferences preferences = 
PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

String myString = preferences.getString("myString", "N/A");
int myInt = preferences.getInt("myInt", -1);

U可能会使用共享偏好

答案 1 :(得分:0)

在没有启动数据的情况下,将数据传递给第二个活动听起来并不合理。 但它可以通过多种方式完成,例如:

  1. 通过设置第二个活动的变量(不好的方式);
    SecondActivity.someValue = value; // for static variables
    或者,(new SecondActivity()).someValue = value; // for non-static variables

  2. 将数据放入共享首选项中,然后在任意位置使用 在你的第一次活动中:
    SharedPreferences.Editor prefEditor = PreferenceManager .getDefaultSharedPreferences(context).edit(); prefEditor.putString("key", "value"); prefsEditor.commit();

    在你的第二次活动中:
    SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context); String mValue= pref.getString("key", "default-value");

答案 2 :(得分:0)

You probably need to re-think your design. An activity is a UI component. If there's no UI, there's no point in starting the activity.

If you just need to "do some work", look at using an IntentService. You can start it with an intent similar to how you start an activity. It has no UI.