我为一个记录声音的应用程序工作。记录使用根路径存储在SD卡上:Environment.getExternalStorageDirectory().getAbsolutePath();
。我假设有一些设备没有SD卡(可移动或不可移动),只有内部存储。我该如何处理这些手机来存储录音?我还有一个文件浏览器,用户可以为录音选择所需的位置。
如果缺少sdcard(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
),我应该告诉用户他没有空间可以录制,还是只是写在内部存储上?
答案 0 :(得分:1)
阅读this。
另外在我看来你要么有一个设置来选择存储,然后通知用户是否没有空的空间,但要确保录制的声音不会丢失(例如你录制的第一个字一个小孩,然后你因为没有空间而丢失了记录),或者你可以向他们提出一个问题,在哪里保存,但为了方便使用,你应该有一个默认的地方,所以你不需要在每次录制后浏览目录
答案 1 :(得分:0)
根据以下评论的讨论:
提出一个对话框,让用户决定是否要使用内部存储器(显示他/她剩下多少以及您需要多少)。在做任何事情之前,让用户决定每一步。如果您已经记录了文件,则可以要求用户选择是否删除它们。这是完成任务的一种自然方式,而不需要考虑简化用户的生活。
最后,来自here:
context.getFilesDir(); //to get folder
getApplicationContext(); //and the context is retrieved by calling this