電話がかかってきたときにローカル通知を発したい (そしてアラートを表示したい) - これは可能ですか? 呼び出しイベントでアプリを起動したり、通知を起動したりできますか?
スカイプはどのように解雇されますか? プッシュ通知で?
ありがとう
電話がかかってきたときにローカル通知を発したい (そしてアラートを表示したい) - これは可能ですか? 呼び出しイベントでアプリを起動したり、通知を起動したりできますか?
スカイプはどのように解雇されますか? プッシュ通知で?
ありがとう
アプリケーション デリゲートは、さまざまなイベントが発生したときに、さまざまな UIApplicationDelegate プロトコル メソッドへの呼び出しを受け取ります。これらの 1 つは- (void)applicationWillResignActive:(UIApplication *)application
メソッドで、着信呼び出しまたはテキスト メッセージに対して呼び出されますが、他の理由でも呼び出される可能性があります。
詳細については、UIApplicationDelegate プロトコル リファレンスを参照してください。
通話中にアプリケーションが実行されている場合は、CoreTelephonyFrameworkを確認してください。このCTCall
クラスは、呼び出し状態に関する情報を提供します。私自身はこれを使ったことがありませんが、役に立つかもしれません。
extern NSString const *CTCallStateDialing;
extern NSString const *CTCallStateIncoming;
extern NSString const *CTCallStateConnected;
extern NSString const *CTCallStateDisconnected;
編集:
を使用CTCallCenter
すると、コールイベントの状態変更を登録できます。前に言ったように、何かが変更されたことを知るには、アプリケーションを実行する必要があります。アプリケーションをバックグラウンドに移動するときに、最大バックグラウンド時間(現在は10分だと思います)を要求することをお勧めします。これらのAPIは、iOS4.0以降でのみ使用できます。
そして、まだ誰も触れていないあなたの質問の部分に答えるために、Skype はバックグラウンドでアプリを維持して VOIP 通話を受信することを特に意図したバックグラウンド メソッドを使用しています。それのほんの一部が実際に実行され、呼び出されるのを待っています。VOIP またはオーディオ目的のバックグラウンド アプリであると主張しない限り、それはできません。
あなたができる最善の方法は、applicationWillResignActive
メソッドをフックすることです。これは、基本的にアプリがフォーカスを失うたびに呼び出されます (呼び出しが入ったときに発生しますが、他の理由でも発生するため、完全ではありません)。