如何将参数从托管应用程序传递到wp8中的本机应用程序?

时间:2013-10-23 08:44:37

标签: windows-phone-8

我有一个托管的wp8应用和原生应用,我希望我可以从托管应用启动原生应用并向其发送一些参数。

我尝试了LaunchUriAsync和Package.Launch,然后从OnActivated函数接收。 但参数总是空的。

我的代码在这里:

托管应用:

Windows.System.Launcher.LaunchUriAsync(new System.Uri("vistagame1:123"));

//IEnumerable<Package> apps = Windows.Phone.Management.Deployment.InstallationManager.FindPackagesForCurrentPublisher();
//Package p = apps.FirstOrDefault((a) => a.Id.Name == "SsAtack");
//p.Launch("?content=1234&param2=test");

原生应用:

void SsAtack::OnActivated(CoreApplicationView^ applicationView,IActivatedEventArgs^args)
{
     switch (args->Kind)
     {
     case ActivationKind::Launch:
     {
        LaunchActivatedEventArgs^ args2 = (LaunchActivatedEventArgs^)(args);

        Platform::String^ s = args2->Arguments->ToString();
        if(s == "1")
        {
             //always empty here.
        }

    }
    break;
case ActivationKind::Search:
    {
        char a[] = "123";
    }
    break;
case ActivationKind::ShareTarget:
    {
        char a[] = "123";
    }
    break;
case ActivationKind::Protocol:
    {
        char a[] = "123";
    }
    break;
default:
    break;
}

HardwareButtons::BackPressed += ref new EventHandler<BackPressedEventArgs^>(this, &SsAtack::OnBackButtonPressed);   
CoreWindow::GetForCurrentThread()->Activate();
}

0 个答案:

没有答案
相关问题