Hero Download Manager

O HDM é um gerenciador de downloads gratuito, com player de vídeo integrado.

Recursos
• Player de vídeo integrado
• Chromecast suporte
• Design material
• Vários temas (claro, escuro, preto)
• Suporte para Android TV
• Suporte do Chrome OS
• Pausar e retomar downloads
• Suporte a navegadores
• Downloads simultâneos (padrão 3)
• Download de várias partes (máximo de 16)
• Baixar arquivos em segundo plano
• Controles de roaming
• Controle de User agent
• Controle de Referer
• Calcular o valor do hash (MD5 e SHA-256)
• Gerenciamento de energia e controle de bateria

O HDM é baseado no Download Navi e Exo Player.



dependencies {
  implementation 'com.google.code.gson:gson:2.8.8'
}
Intent intent = new Intent();
intent.setClassName("gsant.herodm", 
        "gsant.herodm.ui.adddownload.SelectActionActivity");

intent.setData(Uri.parse(url));
intent.putExtra("fileName", fileName);
//intent.putExtra("description", fileDescription);
//intent.putExtra("subtitle", subtitleUrl);

List<Pair<String, String>> headers = new ArrayList<>();

headers.add(new Pair<> ("*headerName*", headerValue));

if (headers.size() > 0) {
  intent.putExtra("headers", new Gson().toJson(headers));
}

PackageManager packageManager = activity.getPackageManager();
List <ResolveInfo> activities = 
        packageManager.queryIntentActivities(intent,
                PackageManager.MATCH_DEFAULT_ONLY);

boolean isIntentValid = activities.size() > 0;

if (isIntentValid) {
  startActivity(intent);
}