【问题标题】:Launching windows metro app from secondary pinned tile从辅助固定磁贴启动 Windows Metro 应用程序
【发布时间】:2014-01-29 23:52:12
【问题描述】:

我正在使用 xaml/C# 开发 Windows Metro 应用程序。 我在 App.xaml.cs 文件中有以下处理应用程序状态的函数:

 public overide OnLaunching();  
 public OnSuspending();  
 public OnResuming();

我已将一些应用内容固定为辅助磁贴。 首先我启动我的应用程序。然后我把它放在后台 当启动的应用程序进入挂起状态时,我单击固定磁贴,我不确定在这种情况下应该调用 OnResuming 还是 onLaunching ?

【问题讨论】:

    标签: c# windows-runtime live-tile launching-application


    【解决方案1】:

    这是关于应用程序生命周期的清晰文档:Application lifecycle (Windows Store apps)。 如果您的应用程序在后台,它将是Resumed,如果不是 - Launched。很容易检查。

    应用程序在用户激活时启动,但 进程处于 NotRunning 状态,因为它刚刚被部署,它 崩溃了,或者它被挂起但无法保存在内存中。

    这还取决于时间,您的应用在后台运行了多长时间。 Windows 应用商店应用有大约 10 秒的宽限期,此时您的应用将保留在内存中而不会暂停。

    您应该检查PreviousExecutionState 属性以确定发生了什么。

    【讨论】:

    • 我知道应用程序的生命周期。我的问题是我需要 tile 激活参数来处理 pinned tile 。我无法检查项目中的应用程序日志文件。我只想知道在这种情况下应该调用两个 OnLaunched() 和 OnResuming() 中的哪一个?您所说的“它将被恢复,如果没有 - 启动”是什么意思??
    • 为什么需要它?您应该检查 OnNavigatedTo 方法中的参数。参数不是 Launch 或 Activate 函数的范围。
    • onLaunched(args) : args.Arguments 告诉我应用程序是正常启动还是从固定磁贴启动。在这两种情况下,我都有不同的事情要做。如果应用程序从挂起状态恢复,则调用 OnResuming。如果我在应用程序暂停时单击磁贴,我想通过使用磁贴参数执行一些操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多