当App转到后台时,下载终止

时间:2013-05-02 15:42:15

标签: android background android-asynctask android-service downloading

我正在使用一个使用phonegap的应用程序。

首次启动应用程序时,我正在从服务器下载数据。 下载过程正在AsyncTask中执行,在onPostExecute()中,我正在加载url。

出现的问题是,当我的下载过程被执行,并且应用程序以某种方式进入后台时,不幸的是,下载终止,这绝对不是必需的。

克服这个麻烦;我想,使用服务是一个很好的选择。但是,在这种情况下,出现了另一个问题,即我怎么可能在服务中加载网址。

否则,还能做些什么?

请告诉我,摆脱这种麻烦的可能方法,我目前正在面对。

2 个答案:

答案 0 :(得分:1)

使用类似的方法下载数据。这可能会有所帮助。

     public void downloadUsingGET(String apkurl, String fileName) {

        try {
            String PATH = Environment.getExternalStorageDirectory()+"/Android/data/"+getPackageName()+"/files/";
            URL url = new URL(apkurl);
            HttpURLConnection c = (HttpURLConnection) url.openConnection();
            c.setRequestMethod("GET");
            c.connect();
            File file = new File(PATH);
            file.mkdirs();
            File outputFile = new File(file, fileName);
            FileOutputStream fos = new FileOutputStream(outputFile);

            InputStream is = c.getInputStream();

            byte[] buffer = new byte[1024];
            int len1 = 0;
            while ((len1 = is.read(buffer)) != -1) {
                fos.write(buffer, 0, len1);
            }
            fos.close();
            is.close();

        } catch (IOException e) {

        }



    }

答案 1 :(得分:0)

如果您使用服务,则可以通过意图传递字符串(启动服务的意图)。