如何从Android的股票“下载”应用程序中删除文件?

时间:2014-12-23 06:10:45

标签: android download

查询DownloadManger似乎是检索文件ID并删除其在库存中的引用的唯一方法"下载"应用程序。这在Clear out android Downloads list中有所建议。我一直无法做到这一点。

我的应用是私密分发的,并在必要时自行更新。这很好,但我想以新的版本启动时以编程方式删除更新.apk文件。删除成功,但文件仍在“下载”中列出。如果用户点击它,他们会收到" Parse错误"因为它显然不再存在难看...

我想清理一下。这是我的代码的相关部分(在删除文件之前调用):

public void DoCleanup(Context context) {

   DownloadManager oDM = (DownloadManager)context.getSystemService(android.content.Context.DOWNLOAD_SERVICE);
   Cursor oCur = oDM.query(new DownloadManager.Query().setFilterByStatus(o_DM.STATUS_SUCCESSFUL));

   if (oCur.getCount() > 0) {
      oCur.moveToPosition(-1);
      while (oCur.moveToNext()) {         
         if ( --some condition-- ) { 
            int iRemove = oDM.remove(oCur.getLong(oCur.getColumnIndex(oDM.COLUMN_ID)));            
         }
      }
   } 

}   
即使在查询对象上没有设置过滤器,

oCur.getCount()也始终为0。为什么?该文件肯定位于从Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)获取的文件夹中。

0 个答案:

没有答案