是否可以检查应用是否已从App.xaml.cs
中的辅助磁贴导航到?我需要以某种方式将用户从启动屏幕上的辅助磁贴链接到WiFi启动uri,而无需用户首先导航到MainPage。我想办理Application_Launching
或Application_Activated
办理登机手续。目前我在MainPage中的OnNavigatedTo
事件中执行此操作,该事件在内置WiFi应用程序之前显示MainPage,这对用户来说既困惑又烦人。
MainPage.xaml.cs中
//From Pinned Tile
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
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:"));
break;
NavigationContext.QueryString.Remove(Constants.Key);
}
}
}
我无法在App.xaml.cs中使用NavigationService
或NavigationContext
。还有其他选择吗?需要注意的是,我从商店中执行此功能的其他应用程序中得到了这个想法,他们没有在内置应用程序之前首先导航到MainPage的问题。
private void Application_Launching(object sender, LaunchingEventArgs e)
{
//check if we are to navigate to WiFi here
}
答案 0 :(得分:0)
辅助磁贴可以具有直接指向页面的导航URI,并且当用户点击辅助磁贴时,该页面将直接导航到该页面。
如果您不想显示任何页面,但启动另一个应用程序,您可以尝试处理RootFrame.Navigating事件,然后检查uri并查询NavigatingCancelEventArgs参数并取消导航。