2017-12-18 17 views
0

처음 사용시 사운드 트랙을 다운로드하는 앱이 있습니다. 안드로이드에서 그 트랙은 DCIM 폴더에 저장됩니다. .FILENAME을 사용하여 폴더와 파일을 숨기지 만 해시 또는 암호를 사용하여 앱 외부에서 해당 파일에 대한 액세스를 차단하는 방법이 있습니까? android에서 사운드 트랙을 보호하는 방법 DCIM 폴더

내가 사용하는 코드는 트랙을 다운로드하는 것입니다 -

function getTracks() { 
console.log('Good to go'); 
var fileTransfer = new FileTransfer(); 
var uri = 
encodeURI("https://testalice.000webhostapp.com/ATG/tracks/Recording.m4a"); 
var fileURL = "///storage/emulated/0/DCIM/.ATG/Recording.m4a"; 

fileTransfer.download(
uri, 
fileURL, 
function(entry) { 
    console.log("download complete: " + entry.toURL()); 
}, 
function(error) { 
    console.log("download error source " + error.source); 
    console.log("download error target " + error.target); 
    console.log("download error code" + error.code); 
}, 
false, 
{ 
    headers: { 
     "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA==" 
    } 
} 
); 
} 

tyczj은 - 당신은 어디 대신 저장할 것이 응용 프로그램 철저한 액세스 할 수 있도록? 나는 phonegap 빌드를 사용하여 앱 크기가 제한되어 있습니다. 앱을 활성화하면 트랙을 다운로드해야합니다.

+0

앱 외부 사용자는 어디에서 다운로드 할 수 있습니까? 앱에만 액세스 할 수있는 앱 데이터 폴더에 저장해야합니다 (휴대 전화가 루팅 된 경우 제외) – tyczj

답변

0

내부 파일의 파일에 MODE_PRIVATE를 사용하는 한 다른 앱에서는 액세스 할 수 없습니다.

모든 사람 (공개)이 파일에 액세스하지 못하게하려면 비공개 앱 저장소에 파일을 다운로드해야합니다. 이 개인 모드 표시기의 OutputStream 사용하십시오 :

FileOutputStream outputStream; 
try { 
    ... 
    outputStream = openFileOutput(filename, Context.MODE_PRIVATE); 
    ... 
} 
  • 여전히이 제안을 실행에 문제가있는 경우, 전체 코드를 게시 할 수 있습니다.
+0

이 부분이 포함 된 전체 코드를 게시 할 수 있습니까? –

0

이 문제를 해결하는 방법은 여러 가지가 있습니다. 예를 들어, 트랙 파일 (또는 각각의 n 바이트) 만 암호화 할 수 있습니다.

+0

해결책을 어디에서 찾을 수 있습니까? – user2100041

+0

경로 /sdcard/Android/data/your.apk.folder 경로를 사용하는 것이 좋습니다. m4a-file을 다운로드하여 암호화 할 수 있습니다. 예를 들어 AES [link] (https://howtodoinjava.com/security/java-aes-encryption-example)를 사용할 수 있습니다. 프로그램에 파일이 필요하면 그냥 해독하십시오. –