2012-04-10 59 views
4

当调用PhoneCallTask​​ Show时,会提示确认。 现在有一种方法可以知道用户点击了“呼叫”还是“不要呼叫”按钮?wp7 PhoneCallTask​​结果

例如

phoneCallTask.Cancel +=() => { }; 

在此先感谢

回答

1

基本上,PhoneCallTask​​是一个发射器,这意味着它不应该返回任何东西,在执行应用程序无法确定状态。因此答案是否定的。

+0

你知道,如果有什么解决办法?有一点让人头痛的是调查通话记录。但是,这也不可能:( – maxlego 2012-04-11 14:35:40

+0

我不知道如果有一个,因为用户可能不会在所有返回给应用程序(电话任务是发射器)。如果是你真的很重要,那么你也许可以创建您可以使用某种弹出式/对话框来确认动作 – 2012-04-11 20:46:30

+0

有两种选择,用户可能不会返回。按开始按钮,可以跟踪并关闭手机(如果用户不删除,也可以跟踪)电池)。 – maxlego 2012-04-12 07:37:03

2

我想出了一个方法来做到这一点。如果你愿意,你也可以试试。

PhoneApplicationFrame中有两个事件处理程序被遮挡和未被遮挡,这些事件处理程序在启动Shell UI时被触发。

确定该人点击呼叫,双方默认和不确定两次触发。 并incase人点击不打电话,他们每个人只触发一次。所以保持一个计数可以检测到的人点击“呼叫”

在您的页面的构造函数中添加此。

(Application.Current as App).RootFrame.Obscured += OnObscured; 
(Application.Current as App).RootFrame.Unobscured += OnUnobscured; 

在打电话之前,秀,初始化计数器和标志

diallerState = 1; 
isDial = true; 
pct.Show(); //pct = new PhoneCallTask(); 



void OnObscured(object sender, ObscuredEventArgs e) 
     { 
      if (diallerState == 3 && isDial == true) 
      { 
      //The user Clicked Dialled 
      diallerState = 0; 
      isDial=false; 
      } 
      else 
      if(isDial==true) diallerState++; 
} 



void OnUnobscured(object sender, EventArgs e) 
     { 
      if(isDial) diallerState++; 
     }