我已經構建了一個完全可用的AsyncTask來處理設備授權,但唯一的問題是我有麻煩讓結果Bundle
返回到其實例化變量以繼續處理主活動。這裏是的AsyncTask實例:將AsyncTask的結果返回到它的實例化變量
Bundle taskResult = new AuthorizeDevice(this).execute(passToAuthroization).get();
我讀過一些文獻關於這個問題,發現onPostExecute()
方法可能有一些做這一點,所以考慮到這一點那就是:
protected void onPostExecute(Bundle result){
dialog.dismiss();
Toast.makeText(context, "background process finished: "+result.getString("UDID"), Toast.LENGTH_SHORT).show();
}
那麼我怎樣才能讓那個包回到主要活動?
爲什麼綁定。我不確定。有一件事是,如果你在** doInBackground **中遇到**異常**,那麼你會在** onPostExecute ** – Samuel
中得到一個空值,並且嘗試訪問'UDID'的敬酒僅僅用於調試。我已經制定了一個預定義的方式來捕獲並通過捆綁包發送異常,以便通知用戶問題。 – nkcmr
查看PravinCG的回答。他是對的。你必須想出一個等待機制或**從onPostExecute以某種方式拋出捆綁。 – Samuel