Android - открытый протокол (Bonjour) как на iOS

1

в мире iOS данные могут быть обменены между приложениями с использованием Open Protocol. Например, если у меня есть электронное письмо с вложением pdf, я могу открыть его в PDFExpert, даже если приложения работают на SandBox, и у них нет файловой системы общего доступа.

В случае Android я заметил, что такая процедура отличается, например, я могу сохранить документ в файловой системе, пусть say/mnt/Apps_Name, а затем я могу снова открыть этот документ в других приложениях.

Есть ли способ заставить пользователя испытать обмен данными/документами между приложениями, например, в iOS World? У вас есть пример? Некоторые ссылки на официальную документацию? Нужна ли им реализация Bonjour или Zero Conf?

Теги:
zeroconf
bonjour

2 ответа

2
Лучший ответ

Возможно, подход Intent - это то, что вы ищете. Установив действие для намерения, скажем, например, ACTION_VIEW, вы устанавливаете соответствующие данные в Intent (т.е. файл pdf), и система определяет, какие приложения могут показывать эту информацию. Если доступно несколько приложений, обычно диалог позволяет пользователям решить это приложение.

Пример в формате PDF:

Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/pdf");
startActivity(intent);

Функция Intents - один из моих фаворитов в Android Development. См. Например, как легко делиться файлом/текстом/изображением/... без боли при реализации любого Oauth/Oauth2....

Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/plain");
String toShare = "This is the text to share";
// You can add extras
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject Here");

// Start intent with choose prompt
startActivity(Intent.createChooser(intent, "Share via"));

Результат:

Изображение 174551

1

Android 4.1 добавляет Network Service Discovery, которая должна быть именно то, что вы хотите - кажется, фактически реализована поверх Bonjour под капотом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню