Android Share Via Dialog
Я видел диалоги "share via", которые находятся в таких приложениях, как TFLN (тексты прошлой ночи).
Похож на это: общий диалог http://garr.me/wp-content/uploads/2009/12/sharevia.jpg
Я хочу поделиться текстом. Может ли кто-нибудь указать мне в правильном направлении? Это сделано с намерениями?
Ответы
Ответ 1
Это действительно сделано с помощью намерений.
Для совместного использования изображения, например, в примере, это будет примерно так:
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpeg");
share.putExtra(Intent.EXTRA_STREAM,
Uri.parse("file:///sdcard/DCIM/Camera/myPic.jpg"));
startActivity(Intent.createChooser(share, "Share Image"));
Для текста вы должны использовать что-то вроде:
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, "I'm being sent!!");
startActivity(Intent.createChooser(share, "Share Text"));
Ответ 2
У меня возникли проблемы с принятым ответом. Что сработало для меня, так это создание файла с пути, а затем анализ URI файла, например:
Uri.fromFile(new File(filePath));
вместо
Uri.parse(filePath)
На всякий случай у кого-то такая же проблема.
Ответ 3
Да. Вам нужно предоставить Activity с фильтром намерения, который может обрабатывать объекты типа MIME image/jpeg (скажем, если вы хотите поддерживать совместное использование изображений JPEG) и действия предположительно ACTION_SEND.
Многие из встроенных приложений для Android являются open-source, вы можете проверить файл манифеста приложения Messaging, чтобы узнать, какие фильтры намерений он использует.