안드로이드 업데이트 구현 ( 개별 서버 및 내부 메모리로 다운로드)

|
소스를 이용해서 sdcard/apk/ 폴더에 APK파일을 넣어놓고 정상적으로 업데이트 되는것을 확인하였습니다. 근데 문제는 sdcard 이 경로는 sdcard가 있을경우 인거잖아요? 이 sdcard가 없어도 되게 만들고 싶거든요.. 그렇다면 내부 메모리 폴더에 다운되는 APK파일을 저장해야 하는데.. 어디다 넣어야 할지 모르겠습니다. 그리고 분명 폰마다 동일한 폴더가 없을 수도 있을거 같고.. 어떻게 하면 좋을지 모르겠습니다. 꼭 해결을 해야 되는데.. 내부메모리에 읽고 쓸수 있는 권한을 주는 폴더를 만들수 있는 방법이나 아님 그런 권한이 있는 폴더에 저장하면 되는지.. 혹시 아시는 분 꼭 답글 부탁드려 봅니다.


 
File parent = new File("/sdcard/apk/");
 
     if(!parent.exists()) {
      parent.mkdirs();
     }
     try {
   URLConnection  uc = new URL("http://XXX.co.kr/"+apkName+".apk").openConnection();
         InputStream in = uc.getInputStream();
         
         int len=0, total=0;
   byte[] buf = new byte[1024];
    
      File apk=new File("/sdcard/apk/"+apkName+".apk");
      if(apk.exists()){
       apk.delete();
      }
      apk.createNewFile();
      // 다운로드
   FileOutputStream fos = new FileOutputStream(apk);
   
   while((len=in.read(buf, 0, 1024)) != -1) {
    total += len;
    fos.write(buf, 0, len);
   }
   in.close();
   
   fos.flush();
   fos.close();
  
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
     File apkFile = new File("/sdcard/apk/"+apkName+".apk");
   
     Intent intent = new Intent(Intent.ACTION_VIEW);
     intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
     
     return intent;

-> 답변 : /nand/data/app <<이경로난 nand 내부 메모리네요... 저는 위소스 가지고 이경로로 해결했네요... [출처]안드로이드사이드
And