我有第二个活动,用户可以自定义,因此当用户返回主活动时,我无法销毁它(如果用户返回第二个活动,则需要提供信息)。此外,当用户返回主活动时,我需要发回一些信息(截至目前,一个字符串),但这不起作用。我的代码:
主要活动:
public void goToSecondPage(){
Intent intent = new Intent();
intent.setClass(this,secondActivity.class);
startActivity(intent);
}
protected void onRestart(){
super.onRestart();
Bundle extras = getIntent().getExtras();
if (extras != null){
String result = extras.getString("CONFIG");
}
第二项活动:
public void goBackToMainPage(){
Intent resultIntent = new Intent();
resultIntent.setClass(this,MainActivity.class);
resultIntent.putExtra("CONFIG","Test String");
resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(resultIntent);
}
我知道onActivityResult
方法,但似乎我需要销毁第二个活动才能使用它。我怎样才能有第二个无法销毁的活动,并在必要时可以将信息发送回主活动?
不应将数据保留在活动中。您只能有一个活动活动,无论您做什么,系统都可以杀死其他所有活动。您应该将数据存储在另一个地方 -SharedPrefference
、SQLite Database
或Singleton
类