我有一个应用程序,可在首次使用时下载音轨。在Android上,这些曲目存储在DCIM文件夹中。 我使用.FILENAME隐藏文件夹和文件,但是有没有办法使用哈希或密码阻止从应用程序外部访问这些文件?
这是我用来下载曲目的代码 -
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 :(得分:0)
只要在内部使用MODE_PRIVATE文件即可 存储,其他应用程序永远无法访问它们。
如果您不希望所有人(公共)都能访问您的文件,则应将其下载到私人应用存储中。为此,请使用带有私有模式指示符的outputStream:
FileOutputStream outputStream;
try {
...
outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
...
}
答案 1 :(得分:0)
有很多方法可以解决这个问题。例如,您可以加密跟踪文件(或每个中只有n个字节)。