I googled and find something about this. But that doesn't help.
Android Version: 4.0+
here's my code:
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); And my url is https://static.test.com/downloads/xxx.apk
Scheme is https, but I still get an error:
02-10 11:18:23.710 E/AndroidRuntime( 7550): java.lang.RuntimeException: Unable to start service com.souyidai.investment.android.service.DownloadService@4344e5e0 with Intent { act=download_with_download_manager cmp=com.souyidai.investment.android/.service.DownloadService (has extras) }: java.lang.IllegalArgumentException: Can only download HTTP/HTTPS URIs: https://static.test.com/downloads/xxx.apk 02-10 11:18:23.710 E/AndroidRuntime( 7550): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2711) 02-10 11:18:23.710 E/AndroidRuntime( 7550): at android.app.ActivityThread.access$2100(ActivityThread.java:141) 02-10 11:18:23.710 E/AndroidRuntime( 7550): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1299) 02-10 11:18:23.710 E/AndroidRuntime( 7550): at android.os.Handler.dispatchMessage(Handler.java:102) 02-10 11:18:23.710 E/AndroidRuntime( 7550): at android.os.Looper.loop(Looper.java:136) 02-10 11:18:23.710 E/AndroidRuntime( 7550): at android.app.ActivityThread.main(ActivityThread.java:5047) 02-10 11:18:23.710 E/AndroidRuntime( 7550): at java.lang.reflect.Method.invokeNative(Native Method) 02-10 11:18:23.710 E/AndroidRuntime( 7550): at java.lang.reflect.Method.invoke(Method.java:515) 02-10 11:18:23.710 E/AndroidRuntime( 7550): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:806) 02-10 11:18:23.710 E/AndroidRuntime( 7550): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622) 02-10 11:18:23.710 E/AndroidRuntime( 7550): at dalvik.system.NativeStart.main(Native Method) 02-10 11:18:23.710 E/AndroidRuntime( 7550): Caused by: java.lang.IllegalArgumentException: Can only download HTTP/HTTPS URIs: https://static.test.com/downloads/xxx.apk 02-10 11:18:23.710 E/AndroidRuntime( 7550): at android.app.DownloadManager$Request.<init>(DownloadManager.java:642) 02-10 11:18:23.710 E/AndroidRuntime( 7550): at com.souyidai.investment.android.service.DownloadService.onStartCommand(DownloadService.java:114) Here's the DownloadManager.Request code:
public Request(Uri uri) { if (uri == null) { throw new NullPointerException(); } String scheme = uri.getScheme(); if (scheme == null || (!scheme.equals("http") && !scheme.equals("https"))) { throw new IllegalArgumentException("Can only download HTTP/HTTPS URIs: " + uri); } mUri = uri; } Any ideas?