2012-04-10 23 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++; 
     }