title: Unknown URL content://downloads/my_downloads
body: <p>I'm using Download Manger to download some multimedia files and categorize them. I'm also using Crashlytics and this is an error I frequently get on different devices and versions of Android:</p>
  <pre><code>java.lang.IllegalArgumentException: Unknown URL content://downloads/my_downloads
     at android.content.ContentResolver.insert(ContentResolver.java:862)
     at android.app.DownloadManager.enqueue(DownloadManager.java:1252)
     at com.myapp.LessonFragment$DownloadClickListener.onClick(SourceFile:570)
     at android.view.View.performClick(View.java:4262)
     at android.view.View$PerformClick.run(View.java:17351)
     at android.os.Handler.handleCallback(Handler.java:615)
     at android.os.Handler.dispatchMessage(Handler.java:92)
     at android.os.Looper.loop(Looper.java:137)
     at android.app.ActivityThread.main(ActivityThread.java:4921)
     at java.lang.reflect.Method.invokeNative(Method.java)
     at java.lang.reflect.Method.invoke(Method.java:511)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
     at dalvik.system.NativeStart.main(NativeStart.java)
  </code></pre>
  <p>You can see my codes below:</p>
  <pre class="lang-java prettyprint-override"><code>private class DownloadClickListener implements View.OnClickListener {
      @Override
      public void onClick(View view) {
          // Check if download manager available before request
          if (!DownloadHelper.isDownloadManagerAvailable(getActivity())) {
              // Build custom alert dialog
              AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
              builder.setMessage(R.string.download_manager_disabled);
              builder.setCancelable(false);
              builder.setPositiveButton(R.string.ok, (dialog, which) -&gt; {
                  dialog.dismiss();
              });
              // Create and display alert dialog
              AlertDialog dialog = builder.create();
              dialog.show();
              return;
          }
  
          // Display short toast on download clicked
          Toast.makeText(getActivity(), R.string.lesson_download_start, Toast.LENGTH_SHORT).show();
  
          // Get attach from view tag
          Attache attache = (Attache) view.getTag();
  
          // Get lesson using lesson id
          Lesson lesson = new Select().from(Lesson.class)
                  .where(Condition.column(&quot;id&quot;).is(attache.getLessonId()))
                  .querySingle();
  
          // Set file name from url and attache name
          Uri uri = Uri.parse(attache.getFile());
          String fileName = attache.getName() + '.'
                  + MimeTypeMap.getFileExtensionFromUrl(attache.getFile());
  
          // Check if path directory not exist and create it
          String filePath = Environment.getExternalStorageDirectory() + &quot;/myapp/&quot; + lesson.getTitle() + &quot;/&quot;;
          File path = new File(filePath);
          if (!path.exists() || !path.isDirectory()) {
              if (!path.mkdirs()) {
                  Timber.e(&quot;Could not create path directory.&quot;);
              }
          }
  
          // Check if file exist and then delete it
          File file = new File(filePath, fileName);
          if (file.exists() &amp;&amp; file.isFile()) {
              if (file.delete()) {
                  Timber.v(&quot;%s just deleted.&quot;, fileName);
              }
          }
  
          // Create download manager request using url
          DownloadManager.Request request = new DownloadManager.Request(uri);
          request.setTitle(attache.getName());
          request.setDestinationInExternalPublicDir(&quot;/myapp/&quot; + lesson.getTitle(), fileName);
  
          // Using DownloadManager for download attache file
          DownloadManager manager = (DownloadManager) getActivity().getSystemService(Context.DOWNLOAD_SERVICE);
          manager.enqueue(request);
      }
  }
  </code></pre>