gpt4 book ai didi

java - 创建具有密码保护的文件夹

转载 作者:行者123 更新时间:2023-12-01 23:50:38 26 4
gpt4 key购买 nike

我正在尝试通过创建带有密码保护和内部音频文件的文件夹来创建适用于 Android 的媒体录音机。

但现在我只能创建其他应用程序和Android智能手机用户访问的文件夹和音频文件。

实现密码保护的目的是不让其他应用程序或用户可以访问文件和文件夹,除非提供密码?

除了创建密码输入面板之外,还有什么想法可以实现此目的吗?

下面是我的代码。

public void onClick(View view) throws Exception {
if (count == 0) {

tbxRecordStatus.setText("Record");
btnRecord.setText("Stop Record");
Toast.makeText(MainActivity.this, "Recording Starts",
Toast.LENGTH_SHORT).show();
String dateInString = new SimpleDateFormat(
"yyyy-MM-dd-HH-mm-ss").format(new Date()).toString();
String fileName = "TasB_" + dateInString + " record.3gp";
SDCardpath = Environment.getExternalStorageDirectory();
myDataPath = new File(SDCardpath.getAbsolutePath() + "/My Recordings");
if (!myDataPath.exists())
myDataPath.mkdir();

audiofile = new File(myDataPath + "/" + fileName);
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setAudioEncodingBitRate(16);
recorder.setAudioSamplingRate(44100);
recorder.setOutputFile(audiofile.getAbsolutePath());



try
{
recorder.prepare();
}
catch (Exception e)
{
e.printStackTrace();
}
recorder.start();
count++;

} else {

tbxRecordStatus.setText("Stop");
btnRecord.setText("Start Record");
Toast.makeText(MainActivity.this, "Recording Stops",
Toast.LENGTH_SHORT).show();
if (recorder != null) {
recorder.stop();
recorder.release();
recorder = null;

} else {
tbxRecordStatus.setText("Warning!");
Toast.makeText(MainActivity.this, "Record First",
Toast.LENGTH_SHORT).show();
}
count = 0;
}
}

最佳答案

如果您在External Storage中创建文件然后根据设计,文件是世界可读的。如果您在目录中创建一个名为 .nomedia 的文件,那么媒体扫描仪将忽略其中的文件,但其他应用程序在查找它们时仍然可以读取它们。

如果您希望您的文件对您的应用程序是私有(private)的,那么它们需要在 Internal Storage 中创建。 。此处创建的文件只能由您的应用程序访问(如果我们忽略具有 root 设备的用户)。但是,内部存储中的可用空间通常要少得多,这意味着它不适合存储大量数据(例如音频文件)。例如,the Android 4.0 compatibility definition第 7.6.2 节中指出,设备需要至少 1GB 的内部存储空间,在所有应用程序之间共享。这并不是很多,而且在早期版本的 Android 中更少。

想到的唯一其他选择是加密存储在外部存储中的音频文件,因此虽然其他应用程序可以访问它们,但它们无法播放存储的音频。 This question has an answer showing how to use CipherOutputStream to do this.

关于java - 创建具有密码保护的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16333948/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com