15

解決策: API 11 が必要です。以下の回答を参照してください。

簡単な質問: 実装された DownloadManager でファイルをダウンロードした後、通知が消えます。ダウンロード後に通知を強制的に保持するにはどうすればよいですか?

VISIBILITY_VISIBLE_NOTIFY_COMPLETED を使用しようとしましたが、使用方法がわかりません

この問題を解決するためのあらゆる種類の助けをありがとう;)

編集:コード

public class BgDL extends Activity {

private DownloadManager mgr = null;
private long id;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.main);

    mgr = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);

    Request request = new Request(Uri.parse(getIntent().getStringExtra("URL")));

    id = mgr.enqueue(request
            .setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "UPDATE")
            .setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI|DownloadManager.Request.NETWORK_MOBILE)
            .setAllowedOverRoaming(false)
            .setTitle("APP update")
            .setDescription("New version "+getIntent().getDoubleExtra("OV", 0.0))


    );

   registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));

}
BroadcastReceiver receiver = new BroadcastReceiver () {


      public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (action.equals(mgr.ACTION_DOWNLOAD_COMPLETE) ){
            unregisterReceiver(receiver);
            finishActivity(99);
        }
      }


}; 

}

4

1 に答える 1

33

リクエストに正しいフラグを追加します。

Request request = new Request(Uri.parse(getIntent().getStringExtra("URL")));

request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);

参照:

http://developer.android.com/reference/android/app/DownloadManager.Request.html#setNotificationVisibility(int)

このダウンロードの実行中または完了時に、システム通知がダウンロードマネージャーによって送信されるかどうかを制御します。有効にすると、ダウンロードマネージャーはシステムNotificationManagerを介してダウンロードに関する通知を投稿します。デフォルトでは、通知はダウンロードが進行中の場合にのみ表示されます。

http://developer.android.com/reference/android/app/DownloadManager.Request.html#VISIBILITY_VISIBLE_NOTIFY_COMPLETED

このダウンロードは表示され、進行中および完了後に通知に表示されます。

于 2012-06-20T21:27:55.647 に答える