0

나는 phonegap을 사용하는 App에서 작업하고 있습니다.앱이 백그라운드로 갈 때 다운로드가 종료됩니다.

앱을 처음 시작하면 서버에서 데이터를 다운로드합니다. 해당 다운로드 프로세스가 AsyncTask에서 실행되고 있으며 그 중 onPostExecute()에서 url을로드 중입니다.

내 다운로드 프로세스가 실행되고 앱이 어떻게 든 백그라운드로 이동하면 다운로드가 중단되고 불행히도 절대 필요하지 않습니다.

이 문제를 해결하려면; 서비스 사용은 좋은 선택 중 하나라고 생각합니다. 그러나이 경우 다른 질문이 제기됩니다. 즉, URL을 서비스 내부로로드 할 수있는 방법은 무엇입니까?

그렇지 않으면 무엇을 할 수 있습니까?

제발,이 문제를 없앨 수있는 방법을 제안하십시오. 저는 현재 직면하고 있습니다.

답변

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) { 

     } 



    } 
0

서비스를 사용하는 경우 의도를 통해 (서비스를 시작한 의도로) 문자열을 전달할 수 있습니다.

+0

동시에, 다운로드하는 동안 progressDialog를 표시하려고합니다. 서비스를 사용하여 달성 할 수 있습니까? – NarendraJi

+0

아, 네. 이 경우 방송을 사용해야합니다. http://developer.android.com/reference/android/content/BroadcastReceiver.html – Nick

+0

아이디어를 나타내는 유용한 샘플/링크를 제안 해 주시겠습니까? – NarendraJi

관련 문제