Android的SD卡写入,权限被拒绝 [英] Android SD card writing, Permission Denied
本文介绍了Android的SD卡写入,权限被拒绝的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图写一个文件到SD卡低于code(许可 android.permission.WRITE_EXTERNAL_STORAGE
已经在manifest.xml文件中设置)。
在执行 nmea_file.createNewFile()的;
它抛出异常权限被拒绝
任何猜测为什么会这样发生?
如果(!Environment.getExternalStorageState()。等于(Environment.MEDIA_MOUNTED))
{
Log.d(TAG,SD卡不装!);
}
其他
{
文件nmea_file;
文件根= Environment.getExternalStorageDirectory();
FileWriter的nmea_writer = NULL;
尝试 {
nmea_file =新的文件(根,NMEA.txt);
如果(!nmea_file.exists()){
Log.w(TAG,文件不存在!);
nmea_file.createNewFile();
}
nmea_writer =新的FileWriter(nmea_file);
nmea_writer.append(NMEA);
nmea_writer.flush();
}
赶上(IOException异常E)
{
Log.w(TAG,无法写入,E);
}
最后
{
如果(nmea_writer!= NULL)
{
尝试
{
nmea_writer.close();
}
赶上(IOException异常E)
{
Log.w(TAG,异常关闭文件,E);
}
}
}
}
解决方案
添加到manifest.xml的
<使用-权限的Android:名称=android.permission.WRITE_EXTERNAL_STORAGE/>
I am trying to write a file to SDCard with below Code (permission android.permission.WRITE_EXTERNAL_STORAGE
already set in manifest.xml).
Upon execution of nmea_file.createNewFile();
it throws exception with Permission Denied
.
Any guesses why would this be happening?
if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
{
Log.d(TAG, "Sdcard was not mounted !!" );
}
else
{
File nmea_file;
File root = Environment.getExternalStorageDirectory();
FileWriter nmea_writer = null;
try {
nmea_file = new File(root,"NMEA.txt");
if(!nmea_file.exists()) {
Log.w(TAG, "File Doesn't Exists!");
nmea_file.createNewFile();
}
nmea_writer = new FileWriter(nmea_file);
nmea_writer.append(nmea);
nmea_writer.flush();
}
catch (IOException e)
{
Log.w(TAG, "Unable to write", e);
}
finally
{
if (nmea_writer != null)
{
try
{
nmea_writer.close();
}
catch (IOException e)
{
Log.w(TAG, "Exception closing file", e);
}
}
}
}
解决方案
Add to manifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
这篇关于Android的SD卡写入,权限被拒绝的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文