Как отправить строку кросс-приложения в одном устройстве UWP?
Я разрабатываю приложение, которое состоит из трех отдельных приложений. (два фона, один с графическим интерфейсом), которые работают на Raspberry PI 3B+ с Windows 10 IOT Core. Схема проста
Коммуникатор -> Преобразование данных -> Визуализация
Моя проблема в том, что я не могу эффективно отправлять данные из одного приложения в другое без активности пользователя. Решение Windows для передачи данных требует действий пользователя или запуска другого приложения. ( https://docs.microsoft.com/en-us/windows/uwp/app-to-app/)
Данные представляют собой короткие сериализованные объекты JSON в строки.
Я пробовал протокол TCP, но это не разрешено на одном устройстве кросс-приложения (почему? Я не понимаю).
Теперь я делаю это, создавая текстовый файл в папке Picture, следующее приложение прочитает этот файл и удалит файл. Этот метод медленный и часто дает сбой.
Есть ли другое решение? Лучшим будет поток или какая-то быстрая передача файлов.
Спасибо за любую идею.
РЕШЕНИЕ: https://docs.microsoft.com/en-us/windows/uwp/launch-resume/how-to-create-and-consume-an-app-service
Это не идеально, потому что в фоновых задачах вы сделаете еще одну фоновую задачу. Но работает довольно хорошо.
2 ответа
Взгляните на это: https://docs.microsoft.com/en-us/windows/uwp/launch-resume/how-to-create-and-consume-an-app-service
это позволит вам отправлять данные на том же устройстве для фоновой задачи других приложений
Это IMO - самый чистый и простой пример использования сервиса для двусторонней связи от приложения UWP до фонового рабочего стола, есть случай, когда в части решения Win32 ссылка "Windows" ошибочна, удалите ее и следуйте и попробуйте подключить его с помощью выбора обзора, это обычно находится в c>Program Files x86> Windows Kits> UnionMetadata> yourversion> windows.winmd, также образец старый, так что вы можете захотеть встряхнуть версии NET по умолчанию и мин Windows,
Этот файл Windows.winmd - это просто файл метаданных, который позволяет классическим настольным приложениям win32 понимать и читать новые Apis, используемые UWP.
Приложение также использует функциональность runfulltrust UWP, которая является надежным способом запуска приложений win32, проверьте некоторые статьи, а также просмотрите схему, чтобы получить лучшее представление об этом, если вам это интересно.