2010-01-09 2 views
2

Я хотел бы как-то отправить файл из моего приложения на одно устройство Android в мое приложение на другом устройстве. Это может быть сделано любым способом, и я открыт для предложений, если вы можете сказать мне, как отправлять по сети или что-то в этом роде.Как отправить/открыть вложения электронной почты из приложения Android?

В настоящее время я ищу отправку файла в виде вложения электронной почты, но я не нашел никакой хорошей документации о том, как это сделать. Мне нужно две вещи, чтобы выполнить это, иметь возможность отправить мой файл (хранящийся на SD-карте или где-нибудь на устройстве) в качестве вложения, и мое приложение распознало Android как приложение для открытия вложения с расширением файла (.lst) ,

Любые мысли?

Файлы будут достаточно небольшими текстовыми файлами xml, если это имеет значение.

ответ

4

Я хотел бы, чтобы каким-то образом отправить файл из моего приложения на одном устройстве Android, чтобы мое приложение на другом устройстве. Это может быть сделано в любом случае, и я открыт для предложения, если вы можете сообщить мне, как отправить по сети или что-то вроде что.

Написать веб-сервис. Или используйте Amazon SQS.

быть в состоянии послать свой файл (хранится на SD карте или где-то на устройстве) в качестве крепления

Как написано выше here, вы можете попробовать:

Intent sendIntent = new Intent(Intent.ACTION_SEND); 

sendIntent.putExtra(Intent.EXTRA_SUBJECT, subject); 
sendIntent.putExtra(Intent.EXTRA_STREAM, ...); 
sendIntent.setType(...); 

где первый эллипс - это путь к вашему выбранному файлу, а второй эллипс - подходящий тип MIME.

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

Никогда не полагаться на расширений файлов. Используйте типы MIME. Вы можете настроить активность с помощью фильтра намерений, который поддерживает ACTION_VIEW для вашего типа MIME.

+0

Я получил часть отправки, которая работает отлично, но я не могу заставить приложение электронной почты открыть файл. Я указал тип MIME и добавил фильтр намерений, но в приложении электронной почты пока нет кнопки предварительного просмотра или загрузки. Что мне не хватает/как мне это сделать? – CodeFusionMobile

+0

Я рекомендую вам открыть новый вопрос и вставить свой манифест (или, по крайней мере, соответствующий элемент ), чтобы мы могли видеть ваш фильтр намерений. – CommonsWare

+0

Я пытался это сделать, однако он открыл MMS, насколько я могу судить, не хватало прикрепленного файла. Обратите внимание, что это было проверено на эмуляторе. – finiteloop

1

Я сделал это, чтобы обрабатывать файлы vcf, прикрепленные к письмам, и это сработало. Вот цель Filer:

 <intent-filter> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <action android:name="android.intent.action.VIEW" /> 
      <data android:mimeType="text/x-vcard" /> 
     </intent-filter> 

Смотреть весь код в http://code.google.com/p/card-catcher.

Смежные вопросы