java .io.IOException: ошибка прослушивания: EINVAL (недопустимый аргумент) при попытке сохранения в publi c загружает папку без недопустимых символов - PullRequest
0 голосов
/ 19 июня 2020

По какой-то причине я получаю java.io.IOException: listen failed: EINVAL (Invalid argument) при попытке сохранить файл в папке загрузок Android publi c. В имени файла нет недопустимых символов:

private LocalSocket mServerSocketLocal;

public boolean openManagementInterface(@NonNull Context c) {
    // Could take a while to open connection
    int tries = 8;
    String socketName = (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + "/" + "mgmtsocket");
    Log.d(TAG, socketName);
    // The mServerSocketLocal is transferred to the LocalServerSocket, ignore warning
    mServerSocketLocal = new LocalSocket();
    while (tries > 0 && !mServerSocketLocal.isBound()) {
        try {
            mServerSocketLocal.bind(new LocalSocketAddress(socketName, LocalSocketAddress.Namespace.FILESYSTEM));
        } catch (IOException e) {
            // wait 300 ms before retrying
            try {
                Thread.sleep(300);
            } catch (InterruptedException ignored) {
                Log.d(TAG, String.valueOf(ignored));
            }
        }
        tries--;
    }
    try {
        mServerSocket = new LocalServerSocket(mServerSocketLocal.getFileDescriptor());
        return true;
    } catch (IOException e) {
        Log.d(TAG, String.valueOf(e));
    }
    return false;
}

Вот результат моего Log.d(TAG, socketName):

2020-06-18 22:44:20.035 3049-3868/com.my.app D/myapp: /storage/emulated/0/Download/mgmtsocket

Насколько я понимаю, это ошибка, которая обычно возникает, когда есть недопустимые символы, но я не вижу недопустимые символы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...