Android的SD卡写入,权限被拒绝 [英] Android SD card writing, Permission Denied

查看:1167
本文介绍了Android的SD卡写入,权限被拒绝的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图写一个文件到SD卡低于code(许可 android.permission.WRITE_EXTERNAL_STORAG​​E 已经在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的

 <使用-权限的Andr​​oid:名称=android.permission.WRITE_EXTERNAL_STORAG​​E/>
 

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆