[英]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.