如何保护android DCIM文件夹上的音轨

时间:2017-12-18 15:19:11

标签: android hide media

我有一个应用程序,可在首次使用时下载音轨。在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构建,因此我的应用程序大小有限。在激活应用程序时必须下载曲目。

2 个答案:

答案 0 :(得分:0)

  

只要在内部使用MODE_PRIVATE文件即可   存储,其他应用程序永远无法访问它们。

如果您不希望所有人(公共)都能访问您的文件,则应将其下载到私人应用存储中。为此,请使用带有私有模式指示符的outputStream:

FileOutputStream outputStream;
try {
    ...
    outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
    ...
}
  • 如果您仍然无法实施此建议,请发布完整代码。

答案 1 :(得分:0)

有很多方法可以解决这个问题。例如,您可以加密跟踪文件(或每个中只有n个字节)。