我的應用程序有2個活動。主要活動是A.我稱之爲A.啓動B(在B中,當用戶按下後退按鈕B的過程將通過這段代碼被殺死)活動B完成後如何在活動A中啓動功能?
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
我的問題是,我該如何開始一個當B的功能完成了嗎?
我的應用程序有2個活動。主要活動是A.我稱之爲A.啓動B(在B中,當用戶按下後退按鈕B的過程將通過這段代碼被殺死)活動B完成後如何在活動A中啓動功能?
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
我的問題是,我該如何開始一個當B的功能完成了嗎?
通過活動啓動活動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
}
謝謝!我做完 –
很好的答案,爲我工作。你能解釋startActivityForResult中的0是什麼嗎?以及RESULT_OK究竟做了什麼? –
謝謝!我一直在尋找這個 – Offek
取而代之的是int pid = android.os.Process.myPid(); android.os.Process.killProcess(pid);
只是使用finish();
。這將幫助你回到之前的活動。根據你的代碼,應用程序被完全殺死。
無需在常規應用程序中殺死類似的進程。你做這件事的具體原因是什麼?調用'finish()'會自動彈出堆棧頂部的活動(在你的案例中是前一個活動) – keyser
閱讀上述評論以及http://saigeethamn.blogspot.in/2009/08/android-developer-tutorial -for_31.html。這將幫助您創建邏輯如何在B完成後調用方法' –
startActivityForResult – njzk2