Могу ли я написать приложение, которое отправляет файл (может быть файл изображения) на другое устройство с помощью NFC Android Beam, на котором не установлено то же приложение?
Я могу отправить файл используя API ниже через NFC Android Beam
mNfcAdapter.setBeamPushUrisCallback()
Должно ли другое устройство также иметь такое же приложение для получения файла?
Если да, то отправка этого файла не будет поддерживать другие платформы, такие как Blackberry, даже если они являются устройствами с поддержкой NFC. Пожалуйста посоветуй.
1 ответ
Реализация передачи файлов не требует, чтобы у принимающего устройства было ваше приложение. Если вы отправляете что-то похожее на изображение, MIME-тип будет транслироваться, когда пользователь щелкает уведомление о соревновании, которое "может" запустить соответствующее приложение, если оно установлено.
Стоит отметить, что вы не можете форсировать MIME-тип при передаче файла Android-луча, поэтому вы не можете гарантировать, что ваше приложение будет единственным, ожидающим получения файла определенного типа. Я также хотел бы отметить, что по моему опыту попытка отправить файлы без расширения не будет работать. Луч будет пытаться, но никогда не подключаться для отправки в случае отсутствия расширения.
Если вы проверите требования к отправке файлов в руководстве разработчика, то увидите, что установка приложения на обоих устройствах не является обязательной.
- Передача файлов Android Beam для больших файлов доступна только в Android 4.1 (уровень API 16) и выше.
- Файлы, которые вы хотите передать, должны находиться во внешнем хранилище. Чтобы узнать больше об использовании внешнего хранилища, прочитайте Использование внешнего хранилища.
- Каждый файл, который вы хотите передать, должен быть доступен для чтения. Вы можете установить это разрешение, вызвав метод File.setReadable (true, false).
- Вы должны предоставить файл URI для файлов, которые вы хотите передать. Передача файлов Android Beam не может обрабатывать URI контента, сгенерированные FileProvider.getUriForFile.
Ссылка на отправку файлов: https://developer.android.com/training/beam-files/send-files.html
Ссылка на получение файлов: https://developer.android.com/training/beam-files/receive-files.html