2012-04-10 8 views
4

PhoneCallTask​​ Showが呼び出されると、確認が通知されます。 ここで、ユーザーが「電話」または「電話しない」ボタンをクリックしたかどうかを知る方法はありますか?事前wp7 PhoneCallTask​​ result

答えて

1

で例えば

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

おかげで基本的には、PhoneCallTask​​は、それは何も、アプリケーションが実行時に状態を判断することはできません返すべきではないことを意味し、ランチャーです。したがって、答えはノーです。

+0

を初期化し、ショーを呼ぶ前に?心を通した1つのシャットは、通話履歴をポーリングすることでした。しかし、これも可能ではありません:( – maxlego

+0

ユーザーがアプリケーションにまったく戻ってこないかもしれないので、私はそこに1つがあるかわかりません(電話タスクはランチャーです)。 –

+0

あなたが戻ってこないようにするには、2つの方法があります。ボタンを押すとトレースが可能で、電話を切ることができます(ユーザーが削除しない場合でも追跡できます)。バッテリー)。 – maxlego

2

私はそれを行う方法についてラウンドを考え出しました。あなたが望むなら、あなたもそれを試すことができます。

シェルUIが起動されたときにトリガされるPhoneApplicationFrameに2つのイベントハンドラが隠され、Unobscuredされます。

コールをクリックすると、「不明」と「不明瞭」の両方が2回トリガーされます。 そして、その人がコールしない場合は、それぞれが1回だけトリガされます。したがって、カウントを保持すると、その人が「コール」をクリックしたかどうかを検出できます。

ページのコンストラクタでこれを追加します。

(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++; 
     } 
関連する問題