无法在SD卡上写文件android
我有一个应用程序可以将备份文件保存在SD卡上。它在HTC Nexus One和其他Android手机上运行良好,但有些手机无法使用(阅读或写作)。无法在SD卡上写文件android
在清单我已经将这个活动:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
例如(当我设置的路径记录文件):
OutputStream output = new FileOutputStream(Environment.getExternalStorageDirectory()
+ "/mydata.dat");
//Writing file...(It doesn't work)
我怎样才能获得SD-正道正确操作文件的卡?
当你说“它不工作”......究竟发生了什么?你的意思是程序运行时没有投诉,但文件没有写入SD卡,或者你的意思是别的吗?
如果文件根本没有到达那里,那不是你的错,这是手机制造商的错。我见过几种从getExternalStorageDirectory()返回“/ mnt/sdcard”的设备,但这不是真正的SD卡路径!例如,在至少一个摩托罗拉设备和三星Galaxy Tab(7“)上,即使这指向内部存储器,并且每个设备上的外部存储都是/ mnt/sdcard-ext,也会返回/ mnt/sdcard
关于这一点,你可以做的没有什么 - OEM向你说谎如果你需要一个解决方法,你可以阅读/ proc/mounts并尝试找到sdcard的实际路径,但到/ mnt/SD卡也将出现在那里,而且也没有保证的方式来区分真理所有设备
我有索尼XPERIA TIPO双和这样的:
FILE* pFile = fopen("/mnt/sdcard/mydata.dat","w+");
这:
FILE* pFile = fopen("/sdcard/mydata.dat","w+");
两个工作正常。 (我在Native上做过)
一般来说,Android不允许你直接写一个文件到SDCard的根目录。您必须在SDCard根目录中创建一个文件夹,然后将文件写入新创建的文件夹中。
试试这个,它应该工作。
是否有错误?如果是这样,请将其附加到您的问题。请注意,如果SD卡通过USB电缆连接到PC,则无法保存到SD卡。 – Haphazard 2011-06-10 20:52:55
我在应用程序中创建一个文件,然后将文件放入SD卡中...就是这样。它适用于许多手机,但例如在索尼爱立信Xperia上它不起作用......我需要找到正确的道路! – Maxime 2011-06-10 20:57:07
这是否意味着什么都没有发生或者您收到错误? – Haphazard 2011-06-10 21:03:18