2012-09-24 25 views
1

我一直試圖在我的android應用程序中嵌入Jetty WebServer,以便該應用程序可以充當WebServer從後臺線程調用單獨的Android活動

我已經能夠使用AsyncTask這樣做,以便它在後臺運行。然後,我也能夠實例化一些按預期運行的servlet。

現在,在其中一個servlet中,我希望servlet調用Activity以允許用戶登錄並提供一些數據並將這些數據返回給servlet,以便將它們發回給用戶。由於servlet在後臺運行,我正努力從servlet調用該活動。

現在,我想知道是否有任何方法可以這樣做。

任何幫助或建議將不勝感激。

謝謝。

回答

0

在AsyncTask的構造函數中,將Context對象作爲參數並將其存儲在本地。現在,當你需要開始下一個活動,使用方法:

Intent intent = new Intent(mContext, Next.class); 
mContext.startActivity(intent); 

的的AsyncTask將是這樣的:

public AsyncTask MyTask...... { 

    Context mContext; 

    public MyTask(Context context) { 
     mContext = context; 
    } 

} 

並創建它使用:

MyTask myTask = new MyTask(getBaseContext()); 
myTask.execute(); 
+0

謝謝回答。我以前試過這個。問題在於servlet處於擴展HttpServlet的單獨類中。一旦它收到它然後調用另一個類的方法,我將需要調用該活動。我已經將需要調用活動的上下文引用傳遞給該類。此時,它會拋出空指針異常。任何想法爲什麼?謝謝 – Ripul

+0

發佈導致異常的代碼。 –

+0

再次將我的代碼與您的代碼進行比較後,發現錯誤。謝謝你讓我發現錯誤。 – Ripul