调用smscomposetask后关闭应用程序

时间:2013-12-14 16:59:15

标签: windows-phone-8 windows-phone

我尝试使用以下代码,但它无法正常关闭,甚至没有显示撰写邮件任务:

private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            SmsComposeTask smsComposeTask = new SmsComposeTask();
            smsComposeTask.To = number;
            smsComposeTask.Body = "I'll call you back.";
            smsComposeTask.Show();
            Application.Current.Terminate();
        }

单击此按钮并完成短信任务后,有没有办法关闭应用程序?

3 个答案:

答案 0 :(得分:0)

在单独的消息传递应用启动之前,您的应用似乎已关闭。 为什么需要关闭应用程序?如果您启动消息传递任务(来自MSDN),它处于逻辑删除状态:

  

Windows Phone应用程序无法直接访问常用信息存储(如联系人列表)或直接调用其他应用程序(如打电话或消息传递)。为了支持需要诸如打电话或消息传递等常见任务的场景,Windows Phone提供了一组启动器和选择器API,使应用程序能够间接访问这些有用的电话功能。启动器和选择器API调用替换当前运行的应用程序的不同内置应用程序。)

答案 1 :(得分:0)

我在show task和terminate之间添加了500ms的延迟。 应用程序在这段时间内进入了墓碑,无法执行终止声明。

smsComposeTask.Show();
 System.Threading.Thread.Sleep(500);
 Application.Current.Terminate();

答案 2 :(得分:0)

我认为您正在尝试制作快捷方式应用,因此您希望在启动指定的任务后关闭该应用。

没有必要使用Thread.Sleep因为有更好的方法来实现相同的目标。

您可以在App.xaml.cs活动的Application_Launching文件中调用您的SmsComposeTask

然后在将应用程序发送到已停用事件(Application_Deactivated)中的后台时调用Application.Current.Terminate();