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

问题描述 投票:0回答:2

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

android hide media
2个回答
0
投票

只要将MODE_PRIVATE用于内部存储上的文件,其他应用就永远无法访问它们。

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

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

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.