Файл не существует (Android)
Имеется код, который возвращает android.net.Uri выбранного файла (в данном случае файл называется 1.pdf и расположен на карте памяти, но если его переместить в основную память, ситуация не поменяется)
Далее происходит преобразовании Uri в java.io.File. При вызове File.exists() возвращается false. Почему программа не видит существующий файл?
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("application/pdf");
startActivityForResult(intent, 123);
}
@Override
public void onActivityResult(int requestCode, int resultCode,
Intent resultData) {
super.onActivityResult(requestCode, resultCode, resultData);
if (requestCode == 123
&& resultCode == Activity.RESULT_OK) {
if (resultData != null) {
Uri uri = resultData.getData();
try {
File f=new File(uri.getPath());
Log.e(TAG,"File object "+f.getAbsolutePath()); //returns /document/9016-4EF8:1.pdf
Log.e(TAG,"File exists "+f.exists()); //returns false
} catch (IOException e) {
e.printStackTrace();
}
}
}
}