0.前言
這篇博文是上一篇的延續,主要是修改上一個版中的BUG和優化一些待完善的項,也算是結貼,當然還有需要完善的,等日後項目中用到的時候再單獨寫出來吧,本篇主要寫升級改進的部分;
改進1.修復【BUG-從通知欄進入更新界面後,然後按返回鍵-接著再從通知欄進入更新界面,更新界面的數據就完全被初始化了】
之前從主界面進入下載界面的時候未設置Intent的ActivityFlags,這次增加後點擊【現在更新】後的代碼如下:
復制代碼
private void Download()
{
//轉到下載頁面進行下載
Intent intent = new Intent();
intent.SetClass(this, typeof(AppUpgradeActivity));
intent.SetFlags(ActivityFlags.SingleTop);
this.StartActivity(intent);
}
復制代碼
2.完善【更新過程中切換通知欄和界面間有點卡】
之前采用異步只是實現了更新進度條,其實有點大材小用了,這次的修改是采用異步執行服務去下載,並且更新進度條的顯示,這樣來回切換就很流程了,在下載界面加載完後啟動異步線程:
3.完善【下載完成後點擊通知欄,通知欄的信息未消失】
這個比較簡單,之前沒仔細研究通知欄的事件,這次把它補充了,在下載完後的事件中設置NotificationFlags為AutoCancel,並在點擊的時候讓通知欄信息消失:
4.完善【安裝完成後未刪除下載的程序】
其實這個完善並不是安裝後直接刪除,而是在程序啟動的時候檢查是否有該程序的安裝包,有則刪除,安裝完後的直接刪除的技術有待研究。先繞道完善這個項:
//啟動後判斷是否有下載的文件
string filePath = this.GetString(Resource.String.FilePath);
File fileDelete = new File(filePath);
if (fileDelete.Exists())
fileDelete.Delete();
5.還未完成的工作
1)待完善-未添加下載過程中暫停的操作(該過程涉及到斷點續傳,到時有機會單獨把這個寫出來)
2)待完善-網絡異常及超時未處理(這個其實就是網絡連接判斷和超時處理等,在實際項目中再作處理)