どのように認識した場合アプリの再読み込み後に電話電話のかけ方は?
-
05-09-2019 - |
質問
しているプログラムを自動的に開始電話の場合プログラムが起動されます。この実装でAppDelegateの"applicationDidFinishLaunching"を試みた。
問題は:の場合電話通話終了■tvコール通話中、自分を自動的に開始までを再開するループ電話が再開されました。
どのように認識した場合アプリから返還されるのか?いかに簡単に保存の状態変数のプログラムを定義する場合はこの呼び出しですか?
私は始めたばかりのiPhoneプログラミングことになってしまうのです。
解決
るので、事前にご利用の電話を読む BOOL
フラグ の応用 NSUserDefaults
データベース 問われるかどうかで開始する電話など callWasMade
.
の場合 callWasMade
設定の初期のデフォルトの NO
, その設定フラグ YES
, 保存し、フラグの値を NSUserDefaults
そのトリガにあります。
その後の打上げのお申し込みの値 callWasMade
(YES
)から読み出し NSUserDefaults
のなかった。
その時点では安全であるべきであるためフリップフラグの値に戻る NO
に来ます。
他のヒント
このは行うことはできません。あなたがいないすべてのコールの終了はアプリに戻りますことを実現するまで、フラグアイデアはいいです。あなたが押して通話トップ電源ボタンをハングアップする場合は、この一例です。
このような場合のために、フラグが(すなわち。次回の起動時に、アプリケーションが実際には、ホーム画面から起動されたとき、これは呼び出しから戻っていると思います)一貫性がなくなります。
だから、すべての携帯電話からの復帰を検出する方法はありません要約すると、私はこのことについてアップルのdevのサポートを求めています。
あなたは、呼び出しを行うのUIWebViewを使用することができます:
アプリによりネイティブコードで異なる電話の後の行動と通話が終了しているかどうかを確認するためにコア電話を使用します:
//before calling loadRequest:
CTCallCenter *callCenter.callEventHandler=^(CTCall* call) {
if(call.callState == CTCallStateDialing)
{
//The call state, before connection is established, when the user initiates the call.
NSLog(@"Dialing");
}
if(call.callState == CTCallStateIncoming)
{
//The call state, before connection is established, when a call is incoming but not yet answered by the user.
NSLog(@"Incoming Call");
}
if(call.callState == CTCallStateConnected)
{
//The call state when the call is fully established for all parties involved.
NSLog(@"Call Connected");
}
if(call.callState == CTCallStateDisconnected)
{
[self release];
NSLog(@"Call Ended");
}
};