退出(退出)实施

Jib*_*ibW 1 c# windows windows-phone-7 windows-phone-7.1

在我的windows phone7(Silverlight)应用程序中,我必须显示一个消息框询问,用户在退出应用程序之前确认(是/否)[在设备后退按钮上单击].

问题是我必须使用自定义消息框(使用弹出窗口)来获取用户确认,并且我无法从应用程序退出.(找不到会退出应用程序的方法dispose() or close()).

如果我不必使用自定义消息框,Device back key press event "OnBackKeyPress"我将使用以下逻辑并完成我的工作

MessageBoxResult res = MessageBox.Show("Do you want to Exit?", "Exit", MessageBoxButton.OKCancel);

            if (res == MessageBoxResult.OK)
            {
                if (NavigationService.CanGoBack)
                {
                    while (NavigationService.RemoveBackEntry() != null)
                    {
                        NavigationService.RemoveBackEntry();
                    }
                }
            }
            else
            {
                e.Cancel = true;
            }
Run Code Online (Sandbox Code Playgroud)

问题是我需要使用自定义消息框并完成此工作.如果需要使用设备后退按钮实现退出应用程序的按钮,则会出现同样的问题.

我发现在几个帖子中建议抛出异常并完成此操作.以下是其中一些

http://mobile.dzone.com/articles/windows-phone-mango-sample-3

http://imaginativeuniversal.com/blog/post/2010/08/22/How-to-Quit-a-WP7-Silverlight-Application.aspx

我不认为这是一个很好的做法,也不确定Windows市场是否会以这种方式进行认证.想听听曾经遇到过这个问题的想法,以及任何实现此目的的建议(终止申请).提前致谢....!!!!

exa*_*ert 5

如果您想提交到市场,由于以下认证要求,您会遇到一些问题:

5.2.4.2在应用程序的第一个屏幕中按"返回"按钮必须关闭应用程序.

5.2.2当用户导航离开应用程序时,操作系统将关闭并终止Windows Phone应用程序.应用程序在关闭后启动时,其启动时间必须满足第5.2.1节 - 启动时间中的要求

5.2.3当用户按下"开始"按钮或设备超时导致锁定屏幕进入时,Windows Phone应用程序将被停用.Windows Phone应用程序也会在其调用Launcher或Chooser API时停用.

这是几个您无法显示消息框的情况.

从技术上讲,使用异常来终止应用是一种违规行为:

5.1.2应用程序必须处理.NET Framework引发的异常,而不是意外关闭.在认证过程中,监控应用程序是否意外关闭.意外关闭的应用程序无法通过认证.在处理异常后,应用程序必须继续运行并保持对用户输入的响应.

作为开发人员,您的部分工作是与用户沟通有关不切实际或不合理的要求.

  • WP用户期望获得一定的体验.当您改变体验并且手机没有按预期方式运行时(按下关闭应用程序),您的用户体验会降低.我见过的应用程序正是你所描述的 - 在背压上弹出确认信息,我觉得这很痛苦.我回过头来因为我想要关闭应用程序,编写该应用程序的开发人员让我感到恼火,并且得到了一个不太好的评论,因为它不符合标准,导致负面体验.现在你明白为什么你应该听exacerbatedexpert? (2认同)