URL url = new URL (urlstring); file tempfile = NULL; tempfile = file. createtempfile ("cache ",". TMP ", new file (environment. getexternalstoragedirectory (). tostring (); Boolean downloaded = downloadutils. requestdownload (URL, tempfile); public class downloadutils {Private Static final string tag = "downloadservice"; public static Boolean requestdownload (URL, file) {fileoutputstream Fos = NULL; try {Fos = new fileoutputstream (File); Return download (URL, FOS);} catch (throwable t) {return false;} finally {utils. closesilently (FOS) ;}} public static void dump (inputstream is, outputstream OS) throws ioexception {byte buffer [] = new byte [4096]; int rc = is. read (buffer, 0, buffer. length); final thread = thread. currentthread (); While (rc> 0) {OS. write (buffer, 0, RC); rc = is. read (buffer, 0, buffer. length);} thread. interrupted (); // consume the interrupt signal} public static Boolean download (URL, outputstream output) {inputstream input = NULL; try {input = URL. openstream (); dump (input, output); Return true;} catch (throwable t) {log. W (TAG, "fail to download", T); Return false;} finally {utils. closesilently (input );}}}