Я работаю над проектом, в котором мне нужно интегрировать другие приложения/игры с моей платформой. Через которые я могу их запустить. Поэтому их одно плохое тестовое решение заключается в том, что я заставляю их жестко интегрировать их в мою инфраструктуру как часть фреймворка. Но это дерьмо.
Итак, мой вопрос: могу ли я запустить другие установленные приложения (эти приложения будут загружаться из магазина отдельно) через какой-то код с моей платформы, и я знаю, что данные могут переноситься из одного приложения в другие приложения.
Это должно быть, когда я нажимаю кнопку Play App, тогда установленное приложение запустится, и я передам ему некоторые настройки, и когда пользователь закончит играть в это приложение, некоторые данные получат передачу обратно на мою платформу, и моя платформа возобновится до соответствующего состояния.
Для открытия другой формы приложения ваше приложение, вы должны знать uri для приложения, например, вы хотите открыть "другое приложение",
string anotherappURI = "anotherapp_uri_value:///?anyVariable=value";
Uri uri = new Uri(anotherappURI);
await Launcher.LaunchUriAsync(uri);
И если вы хотите сделать uri для своего приложения, чтобы он мог быть открыт из другого приложения, выполните следующие действия:
Дважды щелкните файл package.appxmanifest в проекте
На вкладке "Декларация" выберите "Протокол" в раскрывающемся списке и нажмите "Добавить".
Введите "your_app_URI_displayname" в качестве отображаемого имени и "your_app_URI" в качестве имени
Сохраните эти изменения
Теперь после активации (когда ваше приложение вызывается и открывается), как получить активацию
Код:
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
}
}
ПРИМЕЧАНИЕ. Пожалуйста, поддержите и принимайте это как ответ, если полезно