2014-09-15 6 views
0

App.xaml.cs의 보조 타일에서 응용 프로그램을 탐색했는지 여부를 확인할 수 있습니까? 먼저 사용자가 MainPage로 먼저 이동하지 않고 시작 화면의 보조 타일에서 Wi-Fi 실행 uri에 사용자를 연결해야합니다. Application_Launching 또는 Application_Activated을 확인하고 싶습니다. 현재 나는 Mainframe에서 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을 사용할 수 없습니다입니다 대안이 있습니까? 참고로 Store에서이 기능을 수행하는 다른 앱에서이 아이디어를 얻었으며 내장 된 앱보다 먼저 MainPage로 이동하는 데 문제가 없습니다.

private void Application_Launching(object sender, LaunchingEventArgs e) 
    { 
     //check if we are to navigate to WiFi here 
    } 

답변

0

차 타일 페이지에 직접 가리키는 네비게이션 URI를 가질 수 있으며, 사용자가 보조 타일 도청에 직접 때 페이지가 탐색됩니다.

페이지를 표시하고 싶지 않지만 다른 앱을 실행하려는 경우 RootFrame.Navigating 이벤트를 처리하고 NavigatingCancelEventArgs 매개 변수의 URI 및 쿼리를 확인하고 탐색을 취소 할 수 있습니다.

+0

예 현재 MainPage로 이동하여 보조 타일에서 QueryString 값을 처리하고 있습니다. 질문은 사용자가 내장 WiFi 응용 프로그램으로 리디렉션되기 전에 사용자에게 MainPage를 표시하지 않는 방법입니다. – Matthew

+0

보조 타일을 어떻게 설정합니까? ShellTile.Create (uri, tileData, true)를 사용하고 있습니다. 그리고 첫 번째 매개 변수로 내 응용 프로그램에서 페이지 경로를 전달할 수 있습니다. – Jogy

+0

@Matthew는 내 업데이트 된 답변을 확인합니다. – Jogy

관련 문제