2012-03-28 78 views
0

我正在使用計時器(每2小時觸發一次)來檢查我的應用程序中的任何更新。如果有任何更新可用,它將自動下載最新的.apk並從文法上啓動安裝活動。 (帶有OK和CANCEL按鈕的窗口)以編程方式更新應用程序

現在問題是: 如果用戶沒有單擊「確定」或「取消」。然後彈出窗口仍然存在。所以,在下一次計時器命中(2小時後)。它正在下載最新的.apk,彈出另一個安裝activity.so現在顯示2個活動窗口。然後爲下一個計時器命中,它會彈出3個彈出窗口(如果用戶仍然沒有選擇確定或取消)

有沒有更好的方法來避免顯示多個窗口。

請在下面找到我的代碼:

public void onActivityResult(int requestCode, int resultCode, Intent intent) 
{ 
     if (requestCode == 3) 
     { 
     isUpdating = false;    
     } 
} 


private void fnCheckforUpdate() 
{ 
    ........ 
    ....... 
    if(false==isUpdating) 
{ 
      Intent intent = new Intent(Intent.ACTION_VIEW);          
     intent.setDataAndType(Uri.fromFile(outputFile), "application/vnd.android.package-archive"); 
     isUpdating = true; 
     startActivityForResult(intent, 3); 
    } 
} 
+0

您可以委派這個責任,並得到許多其它的特徵,如HTTPS服務:// push-link.com。一探究竟! – CelinHC 2013-08-08 14:27:05

回答

0

您可以檢查顯示對話框:

if (dialog != null && dialog.isShowing()) { 
     dialog.dismiss(); 
    } 
+0

我怎樣才能得到這個對話框對象? – snober 2012-03-28 11:03:03

+0

你說「..在語法上啓動安裝窗口(與確定和取消按鈕的窗口)..」這就是它 – 2012-03-28 11:05:27

+0

它是活動(開始使用startActivityForResult) – snober 2012-03-28 11:32:22

相關問題