簡體   English   中英

Android:如何知道活動何時結束?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM