Java 创建具有密码保护的文件夹
我正试图创建Android的媒体录制器,方法是创建包含密码保护和音频文件的文件夹 但现在我只能创建其他应用程序和Android智能手机用户可以访问的文件夹和音频文件 实施密码保护的目的是不让其他应用程序或用户访问文件和文件夹,除非提供密码 除了创建密码输入面板之外,还有什么办法可以实现这一点吗 下面是我的代码Java 创建具有密码保护的文件夹,java,android,password-protection,Java,Android,Password Protection,我正试图创建Android的媒体录制器,方法是创建包含密码保护和音频文件的文件夹 但现在我只能创建其他应用程序和Android智能手机用户可以访问的文件夹和音频文件 实施密码保护的目的是不让其他应用程序或用户访问文件和文件夹,除非提供密码 除了创建密码输入面板之外,还有什么办法可以实现这一点吗 下面是我的代码 public void onClick(View view) throws Exception { if (count == 0) { tbxRecordStat
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;
}
}
如果在中创建文件,则通过设计,这些文件是世界可读的。如果您在目录中创建一个名为.nomedia
的文件,那么媒体扫描程序将忽略其中的文件,但如果其他应用程序继续查找,它们仍然可以读取这些文件
如果您希望您的文件对应用程序是私有的,则需要在中创建这些文件。此处创建的文件只能由您的应用程序访问(如果我们忽略具有根设备的用户)。但是,内部存储器的可用空间通常要少得多,这意味着它不适合存储大量数据,如音频文件。例如,在第7.6.2节中,设备需要在所有应用程序之间共享至少1GB的内部存储。这并不多,在Android的早期版本中也很少
脑海中浮现的唯一其他选项是加密存储在外部存储器中的音频文件,这样,当其他应用程序可以访问这些文件时,它们将无法播放存储的音频 如果在中创建文件,则通过设计,这些文件是世界可读的。如果您在目录中创建一个名为.nomedia
的文件,那么媒体扫描程序将忽略其中的文件,但如果其他应用程序继续查找,它们仍然可以读取这些文件
如果您希望您的文件对应用程序是私有的,则需要在中创建这些文件。此处创建的文件只能由您的应用程序访问(如果我们忽略具有根设备的用户)。但是,内部存储器的可用空间通常要少得多,这意味着它不适合存储大量数据,如音频文件。例如,在第7.6.2节中,设备需要在所有应用程序之间共享至少1GB的内部存储。这并不多,在Android的早期版本中也很少
脑海中浮现的唯一其他选项是加密存储在外部存储器中的音频文件,这样,当其他应用程序可以访问这些文件时,它们将无法播放存储的音频 如果我使用加密方法,用户可以删除、复制或移动文件吗?@RajuGujarati-是,用户可以对外部存储上的文件执行任何操作。因此,如果我将文件保存到三星平板电脑的内部存储中会更安全吗?该平板电脑具有11GBs的加密功能?如果您使用内部存储,则无需加密文件,因为只有您的应用程序可以访问这些文件。这是否意味着除非我使用文件资源管理器来显示这些文件显式取消隐藏文件,文件无法轻松访问?如果我使用加密方法,用户可以删除、复制或移动文件吗?@RajuGujarati-是,用户可以对外部存储上的文件执行任何操作。因此,如果我将文件保存到三星平板电脑的内部存储中会更安全吗?该平板电脑具有11GBs的加密功能?如果您使用内部存储,则无需加密文件,因为只有您的应用程序可以访问这些文件。这是否意味着除非我使用文件资源管理器来显示这些文件显式取消隐藏文件,文件无法轻松访问?