2012-10-10 70 views
-1

我的應用程序有2個活動。主要活動是A.我稱之爲A.啓動B(在B中,當用戶按下後退按鈕B的過程將通過這段代碼被殺死)活動B完成後如何在活動A中啓動功能?

int pid = android.os.Process.myPid(); 
android.os.Process.killProcess(pid); 

我的問題是,我該如何開始一個當B的功能完成了嗎?

+0

無需在常規應用程序中殺死類似的進程。你做這件事的具體原因是什麼?調用'finish()'會自動彈出堆棧頂部的活動(在你的案例中是前一個活動) – keyser

+0

閱讀上述評論以及http://saigeethamn.blogspot.in/2009/08/android-developer-tutorial -for_31.html。這將幫助您創建邏輯如何在B完成後調用方法' –

+0

startActivityForResult – njzk2

回答

6

通過活動啓動活動B A

Intent intent = new Intent(ActivityA.this,ActivityB.Class); 
startActivityForResult(intent,0); 

Intent intent = new Intent(); 
setResult(RESULT_OK,intent);  
finish(); 

立即完成活動的B ActivityA

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    { 
    super.onActivityResult(requestCode, resultCode, data); 
    //Do your work here in ActivityA 

    } 
+0

謝謝!我做完 –

+0

很好的答案,爲我工作。你能解釋startActivityForResult中的0是什麼嗎?以及RESULT_OK究竟做了什麼? –

+0

謝謝!我一直在尋找這個 – Offek

0

取而代之的是int pid = android.os.Process.myPid(); android.os.Process.killProcess(pid);只是使用finish();。這將幫助你回到之前的活動。根據你的代碼,應用程序被完全殺死。