我正在尝试找到有关如何以编程方式访问HTC Droid Incredible's所谓8GB的信息的信息Internal Storage Memory.
要确定External Storage (SD Card) Location,我正在使用命令:
android.os.Environment.getExternalStorageDirectory().
Run Code Online (Sandbox Code Playgroud)
我找不到任何必然结果Internal phone Storage.
在检查HTC /谷歌Nexus One,摩托罗拉Droid和HTC Dream/G1手机时,那里(正如预期的那样)似乎并不是Mount Point这样的Arbitrary Internal Storage.
在这些手机Internal Storage被分之间/data,/system和/cache分区.
不可思议的Internal Storage当然不会出现在/system. /cache也不太可能,因为它是全局不可读/不可执行的.
我在评论中读到,手机仍然仅限512MB于应用程序,这表明它不仅仅是一个子目录/data.
当然,我自己无法访问某个Droid Incredible单元.
官方方法Environment.getExternalStorageDirectory()似乎无法在三星设备上运行...
它返回"/ sdcard /"而不是真正的路径"/ sdcard/external_sd /",你可以参考以下帖子
是否有其他方法可以检测外部实际存储路径并适用于所有设备?或者只是教我如何避免这个问题?
谢谢.
我一直在开发一个关于HTC愿望的应用程序.它运行正常.单击按钮时的应用程序从我的Web服务器下载文件并将其保存到SD卡上.
我现在想在我的三星Galaxy Tab上运行这个应用程序.但是,当我点击按钮时崩溃.
我能看到的唯一原因是该标签不允许访问SD卡.它与HTC Deisre手机中的SD卡相同,不受写保护或其他任何东西?
谁知道什么可能是错的?
这是我用来下载文件并将其存储在卡上的代码...
class CreatefilesTask extends AsyncTask<Object, Integer, Boolean> {
protected Boolean doInBackground(Object... arg0) {
try{
URL url = new URL("http://213.143.36.32/file.csv");
URLConnection conexion = url.openConnection();
conexion.connect();
int lenghtOfFile = conexion.getContentLength();
InputStream is = url.openStream();
File testDirectory =
new File(Environment.getExternalStorageDirectory()+"/File");
if(!testDirectory.exists()){
testDirectory.mkdir();
}
FileOutputStream fos = new FileOutputStream(testDirectory+"/file.csv");
byte data[] = new byte[1024];
int count = 0;
long total = 0;
int progress = 0;
while ((count=is.read(data)) != -1){
total += count;
int progress_temp = (int)total*100/lenghtOfFile;
if(progress_temp%10 …Run Code Online (Sandbox Code Playgroud) android ×3