我在Android上制作混音器应用,用户可以创建混音,将混音导出到mp3文件,然后将混音上传到服务器进行共享。
现在我将所有混音保存在我在手机SD卡上创建的文件夹中。我使用mp3扩展程序过滤文件,以显示在我的应用程序中的列表,但它可以显示任何具有mp3扩展名的文件,甚至是我复制到此文件夹的其他mp3文件。
如果我无法解决此问题,用户会将此文件夹中的所有mp3文件上传到服务器。
我是否有任何方法可以标记文件是否是从我的应用程序创建的?
聚苯乙烯。我对这里的任何建议持开放态度。
答案 0 :(得分:1)
问题是用户上传的mp3不是你应用创建的混音吗?
您可以通过将它们存储在内部存储器而不是SD卡上来实现此目的(除非有意干扰用户)。
如果必须将它们存储在外部存储设备中,则可以在Android 4.4+上使用专用外部存储设备。请参阅http://developer.android.com/guide/topics/data/data-storage.html#filesExternal并向下滚动至保存应用私密文件。
没有什么可以阻止某人决定上传你不想要服务的文件,但听起来不是你的问题。
答案 1 :(得分:0)
我无法发表评论,所以我会在此提出建议。
首先想法是为每个文件的元数据添加一些东西,比如应用程序的名称可以进入编辑器插槽。然后,您可以在上传/显示每个文件之前read the metadata。
当然,用户可以自己添加元数据并将任何内容上传到您的服务器。
另一个想法是使用加密。我不知道哪种方法最适合您的应用,但您可以加密文件,在元数据中添加签名,使用签名命名文件或其他内容。验证每个文件的签名至少可以防止人们随意搞乱。