[英]Android: How to know when an activity finish?
我有一个main activity A
> call activity B
> call activity C
> call activity D
活动由startActivity(intent).
调用startActivity(intent).
Activity D
具有“关闭”按钮。
在Activity D
上单击“关闭”按钮时,如何通知Activity A
?
任何帮助表示赞赏。
尝试这个:
使用SharedPreference将按钮的状态存储在活动D中。
在活动A的onResume()下,从SharedPreference获取按钮的状态。
//* start the activity with enum defined int activity D to identify your activity
startActivityForResult(intent, DActivity.D_REQUEST_CODE);
//in your D activity define this
private static final int D_REQUEST_CODE = 1;
//* when the button is clicked to close in your D activity, call this in the button event listner
setResult(Activity.RESULT_OK, intent);
//* implement this in your A activity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(data==null)return;
if (requestCode == DActivity.D_REQUEST_CODE)
{
switch (resultCode)
{
case Activity.RESULT_OK:
//* do something
break;
default:
break;
}
}
findViewById(R.id.button_close).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(this, Activity_A.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK));
}
});
如果您希望在清除活动堆栈时仅显示活动A,则此方法将起作用。 如果您只想知道何时返回到活动A,可以按照上面的回答将状态保存在SharedPrefs中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.