如何从应用程序内启动内置应用程序

时间:2014-07-17 07:20:45

标签: c# windows-phone-8

我希望允许用户在开始屏幕上通过固定磁贴管理其WiFi设置。我已经将磁贴设置为正确,但我在应用程序的MainPage OnNavigatedTo事件中检查了这一点。一切正常,除非您从辅助磁贴启动时,您可以在启动内置WiFi应用程序之前一瞬间看到实际的应用程序负载。我看到使用此功能的所有其他应用程序都没有此问题。我想避免这种情况,但我不确定将代码放在哪里这样做?

MainPage.xaml.cs中

protected async override void OnNavigatedTo(NavigationEventArgs e)
    {
        if (fromTile == true) //flag to force the app to close if navigating back from Built in App
            App.Current.Terminate();

        //From Pinned Tile
        if (NavigationContext.QueryString.ContainsKey(Constants.Key))
        {
            string _title = null;
            _title = NavigationContext.QueryString[Constants.Key];

            if (_title != null)
            {
                switch (_title)
                {
                    case "Tile_WiFi":
                        await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings-wifi:"));

                    .. do more stuff ..
                }

                NavigationContext.QueryString.Remove(Constants.Key);
                fromTile = true;
            }
        }
    }

编辑*

在构造函数中放置此代码时,我在行NavigationContext.QueryString.ContainsKey(Constants.Key)上获得了一个System.AccessViolationException,表明Attempt to read or write protected memory.

1 个答案:

答案 0 :(得分:0)

请参阅以下链接以实现您的要求,

http://abundantcode.com/how-to-launch-the-device-wifi-settings-app-from-the-windows-phone-8-app/

此致 Riyaj Ahamed I