我正在开发一个可以下载.mp3文件的Android应用程序。 我下载文件的路径是
"/sdcard/downloadedfile.mp3"
。这是去SD卡如何在下载文件时设置手机内存的路径?
。 我想设置路径到设备的内部存储器。所以没有SD卡的设备应该默认进入内部存储器。
任何人都可以为我找到解决方案..>?
我正在开发一个可以下载.mp3文件的Android应用程序。 我下载文件的路径是
"/sdcard/downloadedfile.mp3"
。这是去SD卡如何在下载文件时设置手机内存的路径?
。 我想设置路径到设备的内部存储器。所以没有SD卡的设备应该默认进入内部存储器。
任何人都可以为我找到解决方案..>?
@android开发见习
我觉得你可以试试这个:
String fileName="name.mp3";
File folder = new File(Environment.getExternalStorageDirectory().getPath() + "/floderName/");
if (!folder.exists()) {
try {
folder.mkdirs();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Default Save Path Creation Error:" + folder);
}
}
File logFile = new File(folder, fileName);
if (!logFile.exists()) {
try {
logFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
System.out.println("Default Save Path Creation Error:" + logFile);
}
}
顺便说一句, 请不要忘记在android6.0
谢谢你工作...... :) –
由于内部存储位置受到权限保护,您提供的任何位置都只能由您的应用程序访问。您可以这样做。
(1)在“外部”存储上提供文件路径这是您现在正在执行的操作,完成后,复制到内部存储,然后删除外部存储上的文件。
(2)创建ContentProvider,让DownloadManager可以写入并为其提供与此ContentProvider相对应的URI。您实现的ContentProvider可以将文件写入内部存储,因为它将在应用程序的上下文中运行。
这里是你的内部存储文件代码:
String songname= "Song_Name" ;
File storageDir = Environment.getExternalStorageDirectory();
File.createTempFile(
songname, /* prefix */
".mp3", /* suffix */
storageDir /* directory */
);
,不要忘记获得许可,写存储。
谢谢你的工作:) –
你能告诉我如何在内存中创建一个新的文件夹并将其存储在其中? –
in storageDir varibale添加“/ myfoldername”以使您的特定目录 –
/SD卡添加的权限和运行权限不在可移动的micro SD卡的路径中。它是设备的外部存储器。不是微型SD卡。 – greenapps
但是,硬编码该路径仍然是一个坏主意。使用答案。 – greenapps