我尝试使用以下代码,但它无法正常关闭,甚至没有显示撰写邮件任务:
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();
}
单击此按钮并完成短信任务后,有没有办法关闭应用程序?
答案 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();