Мой телефон отклоняет определенные типы файлов при отправке с ПК через Bluetooth

Мой Samsung Galaxy Ace имеет последнюю официальную ночную версию CyanogenMod. У меня есть Windows XP, bluetooth-ключ и драйверы bluesoleil.

Я могу отправлять изображения и файлы apk со своего компьютера на телефон. Но когда я пытаюсь отправить файл epub или файл 7z, мой компьютер говорит:

«Отказано в доступе. Убедитесь, что у вас есть права доступа к файлам или папкам».

Поэтому я попытался создать сжатый файл и вместо 7z использовал .zip. И смог отправить. Поэтому я уверен, что в моем телефоне есть список разрешенных типов файлов для получения. Есть ли способ отредактировать его? Спасибо.

PS: я попытался отклонить файл (который успешно прошел), и он дал ту же ошибку отказа в доступе на моем компьютере. Поэтому я считаю, что мой телефон автоматически блокирует определенные типы файлов. Спасибо.

Ответы (1)

Причина, по которой это не работает, заключается в том, что существуют определенные типы данных, которые разрешены, такие как JPG, PNG, zip, pdf, текст, все остальное отфильтровывается и запрещается по простой причине безопасности и для предотвращения злонамеренного использования передачи двоичного файла. исполняемый через него, например.

Вы не можете редактировать их, так как они запекаются в ПЗУ и создаются во время компиляции.

Посмотрите в packages/app/Bluetooth/src/com/android/bluetooth/Constants.java:

public static final String[] ACCEPTABLE_SHARE_INBOUND_TYPES = new String[] {
        "*",
        "image/*",
        "video/*",
        "audio/*",
        "text/x-vcard",
        "text/plain",
        "text/html",
        "application/zip",
        "application/vnd.ms-excel",
        "application/msword",
        "application/vnd.ms-powerpoint",
        "application/pdf",
    };

В принципе, это похоже на типы MIME, встречающиеся среди веб-серверов, такие как загрузка PNG или JPG на сайт. Фильтры будут на месте, чтобы предотвратить загрузку двоичных файлов Windows.