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

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

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


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


Ответы (3)


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

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

person Daniel Bo    schedule 17.09.2013
comment
Я имею в виду, что пользователь не знает об этом (у меня есть приложение безопасности), без появления каких-либо приложений. Мое приложение работает, и оно должно отправить изображение по сети. Луч Android мне не подходит, он должен работать, даже если другое устройство находится на другой стороне слова. Например, отправлять смс молча из кода, в фоновом режиме. - person keybee; 17.09.2013

Прежде всего, вам нужно создать «Службу» в приложении, которая будет работать в фоновом режиме и выполнять все задачи, указанные ниже. Для этой задачи требуется центральный сервер 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

person Kailash Ahirwar    schedule 17.09.2013

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

person keybee    schedule 23.10.2013