我想将数据从一个活动传递到第二个活动但没有启动第二个活动。因为使用Intent我们必须以意图启动活动,但我不想开始此活动。我怎么能这样做?
答案 0 :(得分:1)
SharedPreferences preferences =
PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String myString = preferences.getString("myString", "N/A");
int myInt = preferences.getInt("myInt", -1);
U可能会使用共享偏好
答案 1 :(得分:0)
在没有启动数据的情况下,将数据传递给第二个活动听起来并不合理。 但它可以通过多种方式完成,例如:
通过设置第二个活动的变量(不好的方式);
SecondActivity.someValue = value; // for static variables
或者,(new SecondActivity()).someValue = value; // for non-static variables
将数据放入共享首选项中,然后在任意位置使用
在你的第一次活动中:
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.