【问题标题】:Navigate from notification从通知导航
【发布时间】:2015-03-30 09:03:42
【问题描述】:

我做了定时任务代理。它工作正常,但我不知道如何识别用户是通过 toast 通知还是通过正常点击磁贴打开应用程序。

或者你可能知道如何通过点击通知来打开不同的页面。

【问题讨论】:

    标签: c# windows-phone-8 navigation notifications toast


    【解决方案1】:
    protected override void OnLaunched(LaunchActivatedEventArgs args)
    {
    string launchString = args.Arguments
        If (  launchString ….)
        {
        rootFrame.Navigate(typeof(page2));
        }
        else
        {
        rootFrame.Navigate(typeof(MainPage));
        }
    ...
    }
    

    【讨论】:

    • 在 toast 通知中可以设置启动属性。并在 OnLaunched 中处理属性。
    • 我在 ScheduledAget.cs 中使用 ShellToast 并且没有任何设置属性
    • 如果仅从 ScheduledAget.cs 发送通知,您可以在 ShellToast 中使用 NavigateUri 属性。然后处理 NavigateUri 并导航到所需的页面。一切都在 MSDN 库中进行了描述。究。例如这个链接Toasts for Windows Phone 8
    • 我确实像你在 shellToast 中所说的那样设置了 NavigationUri,例如 NavigationUri = new Uri("/View/SettingsPage.xaml?value1=quicktest &value2=9876", UriKind.Absolute) 和 MainPage protected override void OnNavigatedTo(NavigationEventArgs e) string strVal1 = this.NavigationContext.QueryString["value1"];但是那些 queryString 是空的 @user2784555
    【解决方案2】:

    如果我理解正确——您需要在用户点击 toast 通知时打开应用程序。

    这里都有详细介绍: How to handle activation from a toast notification (XAML)

    【讨论】:

    • 如果我点击 toast 通知我想打开 page2.xaml 而不是 MainPage.xaml
    • 我会尝试处理事件处理程序 OnLaunched 的参数。
    • 你的意思是在 Application_Launching 我会看到哪个应用程序打开了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 2021-05-20
    相关资源
    最近更新 更多