2017-11-21 6 views
0

ダウンロードマネージャを使用してファイルをダウンロードしてインストールします。ファイルを削除せずにAndroidをクリアするダウンロードマネージャの履歴

実際にディスクからファイルを削除せずにダウンロード履歴から削除する方法があるのですか?

私が知っている限り、ユーザーがファイルをインストールしたかどうかを知るコールバックはありませんので、ディスクに残しておきたいのですが、ダウンロード履歴から削除してください。ここで

は、私のダウンロードコードです:

//ダウンロードマネージャ 最終DownloadManager.Request要求=新しいDownloadManager.Request(Uri.parse(appURL))を作成します。

// Save to here 
    request.setDestinationUri(this.apkUri); 

    // Retrieve system download service 
    final DownloadManager manager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); 

    // Queue request 
    manager.enqueue(request); 

    // Will fire off and perform installation when download completes 
    BroadcastReceiver onComplete = new BroadcastReceiver() 
    { 
     @Override 
     public void onReceive(Context ctxt, Intent intent) 
     { 
      performInstall(); 
      ctxt.unregisterReceiver(this); 
      //finish(); 
     } 
    }; 

    context.registerReceiver(onComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); 

もう1つ私の興味があるのは放送受信機に仕上げ()が必要ですか?私はヘルパークラスから呼び出すので、何らかの理由で内部のfinish関数にアクセスすることができません。

答えて

0

キューイングする前に:

  • ローカルパスをダウンロードするには、接尾辞 ".download" を追加し

OnReceiveコールバック:

  • は、DMのダウンロード欄からローカルURIを取得します(SRC)
  • Uri(dst)の「.download」サフィックスを削除します
  • 改名ダウンロードマネージャから "DST"
  • 削除IDに "SRC"

結果:ディスク上にまだファイルやDM

を清掃
関連する問題