以编程方式更新应用

时间:2012-03-28 10:47:41

标签: android

我正在使用计时器(每2小时触发一次)检查我的应用程序中的任何更新。如果有任何可用更新,它将自动下载最新的.apk并以编程方式启动安装活动。 (带OK和CANCEL按钮的窗口)

现在的问题是:    如果用户未单击“确定”或“取消”。然后弹出窗口仍然存在。所以,在下一次计时器命中(2小时后)。它正在下载最新的.apk,弹出另一个安装活动。现在显示2个活动窗口。然后对于下一次计时器点击,它将是3个弹出活动窗口(如果用户仍然没有选择OK或CANCEL)

有没有更好的方法可以避免显示多个窗口。

请在下面找到我的代码:

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);
    }
}

1 个答案:

答案 0 :(得分:0)

您可以查看显示对话框:

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