Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как отправить изображение с одного устройства на другое в фоновом режиме на Android?

Автор вопроса: keybeeОтветов: 3

Мне нужен обходной путь для следующей задачи: у меня есть изображение JPG (любое) на моей SD-карте, и мне нужно отправить его на другое устройство в фоновом режиме. Как мне это сделать? Лучший способ (теоретически) был бы через MMS, но после долгих поисков я могу сказать, что нет официального и надежного (и работающего) способа сделать это в фоновом режиме.

Любые идеи, образцы, даже доказательства того, что это можно сделать, приветствуются! Важно только то, что удаленное устройство должно иметь доступ к этому образу.

  • Уточни? вы хотите сделать это в программе или через устройство? Kailash Ahirwar 17.09.2013
  • Мне нужна эта функция в моем приложении (чтобы иметь возможность предоставить доступ к файлу для удаленных устройств). Типа отправка смс молча, в фоновом режиме - проблема в том, что у меня картинки, а не только текст. keybee 17.09.2013
  • отправитель знает о процессе отправки?? если нет, то я думаю, что это было бы нарушением безопасности. Доступ к чьим-либо данным без его согласия является проблемой безопасности. Андроид этого не позволяет. Kailash Ahirwar 17.09.2013
  • Пользователю не позволено знать это. Это именно из соображений безопасности, так как это приложение безопасности. Android разрешает почти все, если у приложения есть необходимые разрешения. Вы можете загружать и загружать контент в фоновом режиме, включать и выключать сеть, отправлять смс в фоновом режиме в фоновом режиме, делать фотографии --› с разрешениями, все эти вещи можно делать без какого-либо взаимодействия с пользователем. (Вы даже можете программно настроить блокировку экрана, защищенную паролем) keybee 17.09.2013
  • у вас есть необходимые права для чтения файла. Преобразуйте его в код base64 и сделайте http-запрос на свой сервер. Отправьте код base64 с помощью URL-адреса PUT или POST HTTP-запроса. На сервере вы можете легко получать данные PUT или POST через глобальные массивы php. Kailash Ahirwar 17.09.2013

androidimagesendremote-accessmms

Ответы

Ответ 1 · Daniel Bo

если вы хотите, чтобы отправка происходила в фоновом режиме, вы можете использовать луч Android, но вам нужно будет собрать оба устройства вместе.

И поскольку я не уверен в том, что вы имеете в виду под фоном, я не могу быть уверен, что это то, что вы хотите. :)

Ответ 2 · Kailash Ahirwar

Прежде всего, вам нужно создать "Службу" в приложении, которая будет работать в фоновом режиме и выполнять все задачи, указанные ниже. Для этой задачи требуется центральный сервер PHP. Другое устройство может загрузить этот файл с помощью того же метода HTTP-запроса.

  • Преобразовать изображение в строку base64 --

Как преобразовать изображение в строку Base64?

вы можете преобразовать массив байтов в подходящие типы строк или разделителей (или .), разделенных строкой

  • Затем создайте HTTP-запрос --

Отправить HTTP-запрос с Android

для HTTP-запроса создайте такой URL-адрес: https://www.yoursite.com/post/?code="здесь идет строка base64"

-Получить данные в файле php на вашем сервере глобальным массивом $_GET

$code = $_GET['code']
  • В файле php конвертируйте код base64 в исходное изображение.

Как декодировать строку base64 (gif ) в изображение в PHP/HTML

получить изображение из строки base64

Ответ 3 · keybee

Может быть, я плохо объяснил свои потребности. Важная вещь, которую я упустил, это то, что один и тот же человек имеет доступ к обоим устройствам. Я решил это, загрузив изображение на диск Google.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы