zoukankan      html  css  js  c++  java
  • WP8点击桌面图标快速恢复应用

    如何实现在WindowsPhone8 应用程序中 点击了 Windows logo 后 重新在应用程序列表中单击该程序图标 快速启动应用程序

    示例代码 下载

    1. 在App.cs 文件中修改添加一下代码

       #region 电话应用程序初始化
    
            // 避免双重初始化
            private bool phoneApplicationInitialized = false;
    
            // 请勿向此方法中添加任何其他代码
            private void InitializePhoneApplication()
            {
                if (phoneApplicationInitialized)
                    return;
    
                // 创建框架但先不将它设置为 RootVisual;这允许初始
                // 屏幕保持活动状态,直到准备呈现应用程序时。
                RootFrame = new PhoneApplicationFrame();
                RootFrame.NavigationFailed += RootFrame_NavigationFailed;
    
                RootFrame.NavigationFailed += RootFrame_NavigationFailed;
    
                RootFrame.Navigated += CompleteInitializePhoneApplication;
                RootFrame.Navigated += CheckForResetNavigation;
    
                RootFrame.Navigating += RootFrame_Navigating;
    
                // 确保我们未再次初始化
                phoneApplicationInitialized = true;
            }
    
            bool isReset = false;
            void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
            {
                //Resest验证判断 (此处会执行两次)
                if (e.NavigationMode == NavigationMode.Reset)
                {
                    isReset = true;
                }
                else if (e.NavigationMode == NavigationMode.New && isReset)
                {
                    isReset = false;
                    e.Cancel = true; // 取消导航到新页面s
                    RootFrame.Navigated -= ClearBackStackAfterReset; // 取消导航完成事件(否则会直接退出程序)
                }
            }
    
            void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)
            {
                if (RootVisual != RootFrame)
                    RootVisual = RootFrame;
                RootFrame.Navigated -= CompleteInitializePhoneApplication;
            }
    
            void CheckForResetNavigation(object sender, NavigationEventArgs e)
            {
                if (e.NavigationMode == NavigationMode.Reset)
                    RootFrame.Navigated += ClearBackStackAfterReset;
            }
            private void ClearBackStackAfterReset(object sender, NavigationEventArgs e)
            {
                RootFrame.Navigated -= ClearBackStackAfterReset;
    
                if (e.NavigationMode != NavigationMode.New)
                    return;
    
                while (RootFrame.RemoveBackEntry() != null)
                {
                    ;
                }
            }
    
            #endregion

    2.在WMAppManifest.xml 中添加 ActivationPolicy="Resume"

      <Tasks>
          <DefaultTask Name="_default" NavigationPage="MainPage.xaml" ActivationPolicy="Resume"/>
        </Tasks>

    WindowsPhone技术交流群:157153754

  • 相关阅读:
    移动互联网整理笔记(这课内容太多了。。。)
    11.19
    hihoCoder#1879 : Rikka with Triangles (计算几何)
    hdu 4758 (AC自动机)
    hdu 4511 (AC自动机)
    2018 icpc 青岛
    hdu 6219 Empty Convex Polygons (凸包)
    2019 ccpc 秦皇岛
    2018 icpc 徐州
    hdu6599 I Love Palindrome String
  • 原文地址:https://www.cnblogs.com/fxiaoquan/p/WindowsPhone8.html
Copyright © 2011-2022 走看看