Запустите одно приложение метро из другого приложения метро Windows 8

1

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

Итак, мой вопрос: могу ли я запустить другие установленные приложения (эти приложения будут загружаться из магазина отдельно) через какой-то код с моей платформы, и я знаю, что данные могут переноситься из одного приложения в другие приложения.

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

Теги:
microsoft-metro
windows-8

1 ответ

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

Для открытия другой формы приложения ваше приложение, вы должны знать uri для приложения, например, вы хотите открыть "другое приложение",

 string anotherappURI = "anotherapp_uri_value:///?anyVariable=value";
 Uri uri = new Uri(anotherappURI);
 await Launcher.LaunchUriAsync(uri);

И если вы хотите сделать uri для своего приложения, чтобы он мог быть открыт из другого приложения, выполните следующие действия:

  1. Дважды щелкните файл package.appxmanifest в проекте

  2. На вкладке "Декларация" выберите "Протокол" в раскрывающемся списке и нажмите "Добавить".

  3. Введите "your_app_URI_displayname" в качестве отображаемого имени и "your_app_URI" в качестве имени

  4. Сохраните эти изменения

Теперь после активации (когда ваше приложение вызывается и открывается), как получить активацию

  1. Перейдите в файл App.xaml.cs
  2. Переопределить метод OnActivated
  3. Вставьте этот кусок кода в:

Код:

  protected override void OnActivated(IActivatedEventArgs args)
  {
  if (args.Kind == ActivationKind.Protocol)
  {
  ProtocolActivatedEventArgs eventArgs = args as
  ProtocolActivatedEventArgs;
  // TODO: Handle URI activation
  // The received URI is eventArgs.Uri.AbsoluteUri
  }
  }

ПРИМЕЧАНИЕ. Пожалуйста, поддержите и принимайте это как ответ, если полезно

  • 0
    спасибо souvikcse, можете ли вы сказать мне, что должно быть установлено в "your_app_URI". Я сделал пример приложения для тестирования и хочу установить его app_uri в поле имени. Я собираюсь запустить это из другого тестового приложения.
  • 0
    Например, у вас есть приложение A, имеющее uri «appauri», теперь вы хотите открыть его из другого приложения B, поэтому вы должны вызывать его из кода приложения B string anotherappURI = "appauri: ///"; Uri uri = новый Uri (anotherappURI); await Launcher.LaunchUriAsync (uri);
Показать ещё 2 комментария

Ещё вопросы

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