有什麼辦法,如何從堆棧中完成某些活動?我有服務,它會查找更新,當找到更新時,它會打開更新活動,其中將顯示安裝提示。但是在安裝出現後,我想完成更新活動,因爲沒有必要仍然在堆棧中。Android - 從另一個活動完成活動
感謝
有什麼辦法,如何從堆棧中完成某些活動?我有服務,它會查找更新,當找到更新時,它會打開更新活動,其中將顯示安裝提示。但是在安裝出現後,我想完成更新活動,因爲沒有必要仍然在堆棧中。Android - 從另一個活動完成活動
感謝
如果更新活動正在啓動另一個安裝活動,那麼您可能希望在更新活動中覆蓋void onActivityResult(int requestCode, int resultCode, Intent intent)
,並提供以下實施。另外,當更新活動啓動安裝活動時,它應該使用startActivityForResult(Intent, int)
而不是startActivity(Intent)
。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent)
{
super.onActivityResult(requestCode, resultCode, intent);
finish();
}
使用完成()的活動類的方法來完成某些活動
this.finish(); // you can also use the application context instead of this
希望這會幫助你。
但是安裝後,我想完成更新活動,因爲它不需要仍然在堆棧上。
當你的「更新活動」呼籲startActivity()
,彈出「安裝」,它立刻撥打finish()
本身。
是的,問題是我從AsyncTask開始新的活動,所以我不能完成()本身 – Waypoint 2011-04-02 12:51:35
@Hmyzak:永遠不要從'AsyncTask'開始一個新的活動。這是用戶敵對的,導致一個活動隨機出現而沒有警告。 – CommonsWare 2011-04-02 12:55:34
通過AsyncTask我正在下載文件進行更新,當我完成下載時,我使用onPostExecute來安裝此應用程序。我沒有別的辦法,你呢? – Waypoint 2011-04-02 13:00:26
請嘗試此操作。
在第一個活動中,在onCreate之前定義這個。
static TabsViewPagerFragmentActivity activityMain;
然後,在onCreate的第一個活動中,寫下這個。
activityMain = this;
然後,在第二個活動中,當你想完成第一個活動時寫下這個。
TabsViewPagerFragmentActivity.activityMain.finish();
這會破壞第一個活動,當您按下第二個活動時,您將直接返回主頁。
對活動的靜態引用 - 內存泄漏 – Lester 2016-11-13 10:12:22
非常有用的代碼
classname.static object.finish();
這是一種糟糕的或良好的做法? – 2013-06-05 19:50:45
感謝您的評論 – Waypoint 2011-04-02 14:02:34