Подтвердить что ты не робот

Чтение файла в андроид файле разрешено

Я хочу читать файл из внешнего хранилища. Я загрузил файл в Eclipse DDMS в хранилище /sdcard (изображение ниже). Но всякий раз, когда я пытался читать, я получил ошибку разрешения. Есть ли проблема в разрешении моего файла? Или мне нужно добавить что-либо в файл манифеста (я ничего не пишу в данный момент)?

Любая помощь будет оценена.

Folder Tree

Код:

public void extimport(View v){
   EditText xedittxt = (EditText) findViewById(R.id.frmexttxt);
   String xedit = xedittxt.getText().toString();
   xedit = xedit.trim();
   File file;
   file = new File(xedit);
   StringBuilder text = new StringBuilder();
   Log.d("fcheck",""+xedit);
   try {
      BufferedReader br = new BufferedReader(new FileReader(file)); //THIS LINE THROWS ERROR
      Log.d("fcheck","f3"); //This line never got printed
      String line;
      while ((line = br.readLine()) != null) {
         text.append(line);
         text.append('\n');
      }
      br.close();
      resultView = (TextView) findViewById(R.id.header);
      resultView.setText(text);
   }
   catch (IOException e) {
      Log.d("File open error",""+e);
      Toast.makeText(getApplicationContext(), "Error opening the file.", Toast.LENGTH_SHORT).show();
   }
}

LogCat:

11-19 00:21:54.252: D/fcheck(5885): /storage/sdcard/mylibman.csv
11-19 00:21:54.272: D/File open error(5885): java.io.FileNotFoundException: /storage/sdcard/mylibman.csv: open failed: EACCES (Permission denied)
4b9b3361

Ответ 1

Убедитесь, что вы добавили разрешение на чтение внешнего хранилища в файле манифеста.

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Ответ 2

У меня была одна и та же проблема, и ее можно легко удалить, выполнив любой из этих шагов: 1. Установите приложение, используя -g, при установке в версиях Android N и O. 2. Предоставьте разрешение вручную  Настройки- > apps → "app_name" → Разрешения- > Включить коммутатор

Для обоих этапов 1 и 2 определите use-permission android: name= "android.permission.WRITE_EXTERNAL_STORAGE" и использует разрешение android: name= "android.permission.READ_EXTERNAL_STORAGE" в AndroidManifest.xml