Max*_*me 6 android android-sdcard
我有一个应用程序,可以将备份文件保存在SD卡上.它适用于HTC Nexus One和其他Android手机,但有些手机无法正常工作(阅读或写作).
在清单中我设置了这个:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)
例如(当我设置录制文件的路径时):
OutputStream output = new FileOutputStream(Environment.getExternalStorageDirectory()
+ "/mydata.dat");
//Writing file...(It doesn't work)
Run Code Online (Sandbox Code Playgroud)
我如何才能正确地获取SD卡的正确路径?
当你说“它不起作用”时......到底发生了什么?您的意思是程序运行时没有抱怨,但文件没有写入 SD 卡,还是有其他意思?
如果文件根本无法到达那里,那不是您的错,而是手机制造商的错。我见过一些设备从 getExternalStorageDirectory() 返回“/mnt/sdcard”,但这并不是真正的 sdcard 路径!例如,在至少一台 Motorola 设备和 Samsung Galaxy Tab (7") 上,即使指向内部存储,也会返回 /mnt/sdcard,并且每个设备上的外部存储为 /mnt/sdcard-ext 。
您对此无能为力——原始设备制造商在对您撒谎。如果你想要解决方法,你可以读取 /proc/mounts 并尝试找到 sdcard 的实际路径,但 /mnt/sdcard 也会显示在那里,并且没有保证的方法来区分真相所有设备。
| 归档时间: |
|
| 查看次数: |
4915 次 |
| 最近记录: |