Windows Phone 8.1:如何从我的应用程序启动已安装的应用程序

时间:2015-06-09 11:06:19

标签: c# windows-phone-7 windows-phone-8 windows-phone-8.1

我尝试过以下链接

How do I launch other app from my own app in Windows Phone 8.1?

Call an external app on windows phone 8.1 runtime(not silverlight) xaml c# application

但是没有什么对我有用,因为我只想推出一个应用程序,例如我的应用程序中的愤怒的小鸟点击按钮。

请帮助

2 个答案:

答案 0 :(得分:2)

如果应用有a registered URI,那么您应该可以使用Launcher.LaunchUriAsync。您还可以找到一些帮助,here at MSDN - How to launch the default app for a URI

否则我认为不可能。

答案 1 :(得分:0)

它对我有用。

  1. 设置从其他地方启动的应用。

    在WMAppManifest.xaml中将其添加到< /令牌GT;和< ScreenResolutions>

    Sets    Reps    PctIRM  Recovery  TrainingAim   SetsMin SetsMax RepsMin RepsMax PctIRMmin   PctIRMmax  RestMin  RestMax
    6       6       0.9     150       Power Single  2       6       6       999     0.85        1          120      300
    

    添加一个类“AssociationUriMapper”并覆盖函数“MapUri()”

    <Extensions>
       <Protocol Name="alsdkcs" NavUriFragment="encodedLaunchUri=%s" TaskID="_default" />
    </Extensions>
    

    并在InitializePhoneApplication()函数的这一部分从其他app.xaml.cs中调用它们

    class AssociationUriMapper : UriMapperBase{
       private string tempUri;
    
       public override Uri MapUri(Uri uri){
          tempUri = System.Net.HttpUtility.UrlDecode(uri.ToString());
          if (tempUri.Contains("alsdkcs:MainPage?id=")){
             int idIndex = tempUri.IndexOf("id=") + 3; //3 is the length of "id="           
             string id = tempUri.Substring(idIndex);
    
             return new Uri("/MainPage.xaml?id=" + id, UriKind.Relative);
         }
         return uri;
      }
    }
    
  2. 最后调用其他应用程序启动应用程序

    RootFrame.UriMapper = new AssociationUriMapper(); // add this line only between RootFrame.Navigated += CompleteInitializePhoneApplication; and RootFrame.NavigationFailed += RootFrame_NavigationFailed;
    

    其中“alsdkcs”是协议名称。

  3. 更多详细信息,请参阅msdn