0

Uri을 사용하여 getFilesDir() 내에 음악 파일을 저장하고 싶습니다. 나는 내부 저장 장치에 파일을 저장하는다운로드 관리자를 사용하여 내부 저장소에 미디어 저장

public File createDirectory(String filename) throws FileNotFoundException { 
    File file = new File(context.getFilesDir(), filename); 
    Log.i("Tag", "createDirectory: " + file.getAbsolutePath()); 
    return file; 
} 

수없는 내부 스토리지 내부에서 생성 디렉토리

Uri Download_Uri = Uri.parse(songBean.vSongsFileName); 
DownloadManager.Request request = new DownloadManager.Request(Download_Uri); 
mDownloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); 
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE); 
request.setAllowedOverRoaming(false); 
request.setTitle(songBean.vTitle); 
request.setDescription("Downloading File"); 

    try { 
    request.setDestinationUri(Uri.parse(createDirectory("tmp.mp3").getPath())); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 

    request.allowScanningByMediaScanner(); 
    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); 
    downloadReference = mDownloadManager.enqueue(request); 
    registerReceiver(new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 

     } 
    }, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); 

방법이 방법으로 저장하기 위해 노력했다. request.setDestinationUri(Uri.parse(createDirectory("tmp.mp3").getPath())); 던져 not a file uri 오류. 제발 나를 도와주세요

+0

아무런 문제 설명이 없습니다. 질문도 아닙니다. – greenapps

+0

누구든지이 문제를 겪었으므로 누구든지이 문제를 게시했습니다. –

+0

어떤 문제에 직면 했습니까? 문제/문제를 설명하지 않았습니다. – greenapps

답변

0

getFilesDir()은 앱의 개인 내부 저장소입니다. 다른 앱에 액세스 권한이 없으므로 파일을 두도록 요청할 수는 없습니다.

DownloadManager의 경우 외부 저장소를 사용하십시오.

+0

내부 저장소에 미디어를 저장하는 솔루션이 있습니까? –

+0

FileProvider를 사용하십시오. – greenapps

+0

나에게 링크 나 그 아이디어를 제안 해 주시겠습니까? –