Сохраненные файлы в общей папке видны, но не доступны для ПК - PullRequest
0 голосов
/ 19 мая 2019

[Папка недоступна на ПК: 1 : https://i.stack.imgur.com/FuKdy.png]

Я хочу сохранить данные датчика в общую папку во внешнем хранилище. Таким образом, папка просто видна, но не доступна для ПК, как показано на прикрепленном изображении. На Android я могу получить доступ к данным без каких-либо проблем.

Я действительно не знаю проблемы, так как я предоставил разрешения для внешнего хранилища, попробовал «ExternalStorageDirectory» и «ExternalStoragePublicDirectory» и добавил MediaScanner после закрытия FileWriters. Кроме того, я попробовал MediaScanner двумя различными способами: один раз он сканировал папку, один раз сканировал файл датчика. Ничего не сработало.

Поэтому я был бы очень очень благодарен, если бы вы могли дать мне подсказку, почему я не могу получить доступ к папке с ПК. Заранее большое спасибо!

Подводя итог - я пробовал это: - ExternalStorageDirectory - ExternalStoragePublicDirectory - MediaScanner сканирует файл - MediaScanner сканирует папку - Я также пытался ответить на этот вопрос: Сохранение общедоступных файлов в Android, но папки не доступны для ПК

FileWriter GPSwriter;
File f;

//Check if external storage is available

private boolean isExternalStorageWritable(){
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
Log.i("state", "Yes, it is writable");
return true;
} else {
return false;
}

//Create Folder

myfolder = "Logger";
f = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), myfolder);

f.setExecutable(true);
f.setReadable(true);
f.setWritable(true);

if (!f.exists()) {
   f.mkdirs()
} else {
            Toast.makeText(getApplicationContext(), "Pfad " + myfolder + " existiert bereits", Toast.LENGTH_LONG).show();
}

//Filewriter

GPSwriter.write(String.format(Locale.ENGLISH, "%d,%f,%f,%f,%f,%f,%f,%f,%f,%f,%d,%d\n", curGPStime, curLat, curLong, curAlt, curSpeed, curBearing, curHorzAcc, curBearAcc, curSpeedAcc, curVertAcc, curElaTime, curGPStimenull));

//Create file

if (isExternalStorageWritable()){

 GPSwriter = new FileWriter(new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS).toString() + "/" + myfolder,"Location.csv"));

try{
GPSwriter.close();
} catch (IOException e) {
            e.printStackTrace();
        }
}


//Scan Media to see the files -> When I scan "f" I can see the folder at least, when I just scan the file, I cannot see anything at all //

MediaScannerConnection.scanFile(this, new String[]{f.toString()}, null, null);```



1 Ответ

0 голосов
/ 21 мая 2019

Я решил проблему!

Я думаю, проблема была в том, что файл был создан в защищенном классе.Я переместил его вперед в начало программы и теперь он работает:)

Best!

...