如何处理来自ConnectionSettingstask的后台密钥直接从辅助磁贴调用

时间:2012-03-08 15:10:17

标签: vb.net windows-phone-7

我有一个只有主页的小型wp7应用程序。主页面有4个按钮,调用ConnectionSettingstask进行wifi,蓝牙,飞机模式和蜂窝数据设置。我还设法为这些按钮创建了辅助磁贴。 OnNavigateTo事件使用从tile

传递的键处理辅助切片
    Protected Overrides Sub OnNavigatedTo(ByVal e As System.Windows.Navigation.NavigationEventArgs)
    If (Me.NavigationContext.QueryString.ContainsKey("_key")) Then
        Dim Key As String = String.Empty
        Key = Me.NavigationContext.QueryString("_key")
        Select Key
            Case "WiFi"
                Dim NewTask As New ConnectionSettingsTask
                NewTask.ConnectionSettingsType = ConnectionSettingsType.WiFi
                NewTask.Show()
                ....
        End Select
                NavigationContext.QueryString.Remove("_key")
    End If
End Sub

问题是,当用户使用辅助磁贴调用任务时,应用程序直接打开连接设置页面,但之后返回键,而不是打开电话主菜单,打开我的应用程序的主页面

1 个答案:

答案 0 :(得分:1)

如果您导航到A然后导航到B,则可以从Backstack中删除A,但仅限A和B在您的应用程序中。

解决方案是在检测到您从设置页面返回时关闭应用程序。执行此操作的唯一方法是抛出异常而不捕获它。 (有点黑客)问题是这种解决方案不适合市场​​,未处理的例外意味着您的应用程序无法通过认证。

不幸的是,这个问题没有市场友好的解决方案。