2

電話がかかってきたときにローカル通知を発したい (そしてアラートを表示したい) - これは可能ですか? 呼び出しイベントでアプリを起動したり、通知を起動したりできますか?

スカイプはどのように解雇されますか? プッシュ通知で?

ありがとう

4

4 に答える 4

2

アプリケーション デリゲートは、さまざまなイベントが発生したときに、さまざまな UIApplicationDelegate プロトコル メソッドへの呼び出しを受け取ります。これらの 1 つは- (void)applicationWillResignActive:(UIApplication *)applicationメソッドで、着信呼び出しまたはテキスト メッセージに対して呼び出されますが、他の理由でも呼び出される可能性があります。

詳細については、UIApplicationDelegate プロトコル リファレンスを参照してください。

于 2011-03-22T17:13:24.560 に答える
1

通話中にアプリケーションが実行されている場合は、CoreTelephonyFrameworkを確認してください。このCTCallクラスは、呼び出し状態に関する情報を提供します。私自身はこれを使ったことがありませんが、役に立つかもしれません。

extern NSString const *CTCallStateDialing;
extern NSString const *CTCallStateIncoming;
extern NSString const *CTCallStateConnected;
extern NSString const *CTCallStateDisconnected;

編集:

を使用CTCallCenterすると、コールイベントの状態変更を登録できます。前に言ったように、何かが変更されたことを知るには、アプリケーションを実行する必要があります。アプリケーションをバックグラウンドに移動するときに、最大バックグラウンド時間(現在は10分だと思います)を要求することをお勧めします。これらのAPIは、iOS4.0以降でのみ使用できます。

于 2011-03-22T17:27:59.717 に答える
1

そして、まだ誰も触れていないあなたの質問の部分に答えるために、Skype はバックグラウンドでアプリを維持して VOIP 通話を受信することを特に意図したバックグラウンド メソッドを使用しています。それのほんの一部が実際に実行され、呼び出されるのを待っています。VOIP またはオーディオ目的のバックグラウンド アプリであると主張しない限り、それはできません。

于 2011-03-22T17:42:13.707 に答える
-1

あなたができる最善の方法は、applicationWillResignActiveメソッドをフックすることです。これは、基本的にアプリがフォーカスを失うたびに呼び出されます (呼び出しが入ったときに発生しますが、他の理由でも発生するため、完全ではありません)。

参照: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html

于 2011-03-22T17:19:42.497 に答える