我对 Intents 和putExtra
. 我想要做的是:在活动 A(这不是我的MainActivity
)中,当我单击一个按钮时,它将关闭我的所有活动,发送一个字符串并启动我的主要活动。出于测试目的,它将显示一个测试对话框与我的字符串。到目前为止一切都很好,可以按我的需要工作。
问题是如果我重新启动我的MainActivity
(我需要这样做,它就像一个购物清单,我需要开始一个新的购物清单),带有putExtra
字符串的对话框再次显示。
这是我的代码片段:
在活动 A 中:
@Override
public void onClick(View v) {
Intent intent = new Intent(Gestionarez.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.putExtra( "paramName", str );
startActivity( intent );
// TODO Auto-generated method stub
dialog.dismiss();
dialog.cancel();
}
在我的MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LoadPref();
Bundle extras = getIntent().getExtras();
if (extras != null) {
String myParam = extras.getString("paramName");
ShowAlertMessage(this, "TEST", myParam + "");
} else {
}
}
MainActivity
当我需要开始一个新的购物清单时,这就是我重新启动我的方式:
Intent intent = getIntent();
finish();
startActivity(intent);