1

でチェックしています

- (void)applicationWillEnterForeground:(UIApplication *)application

アプリに戻ったとき。

しかし、これはユーザーがいつ電話を断ったかを検出しません。ユーザーが通話を拒否した場合でも検出する方法はありますか?

4

3 に答える 3

4

おそらく、次の通知を使用できます。あなたの場合、2番目の通知です。

CoreTelephony.frameworkプロジェクトに追加して、次のことを行います。

#import <CoreTelephony/CTCall.h>

   [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callReceived:) name:CTCallStateIncoming object:nil];
   [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callEnded:) name:CTCallStateDisconnected object:nil];
   [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callConnected:) name:CTCallStateConnected object:nil];
于 2013-04-23T21:49:10.203 に答える
1

あなたが望むのは、アプリがアクティブな状態に戻ったときを検出することだと思います。これには 2 つのデリゲート メソッドがあります。

applicationWillEnterForeground: アプリケーションがフォアグラウンドに入ろうとしていることをデリゲートに伝えます。

- (void)applicationWillEnterForeground:(UIApplication *)application

applicationDidBecomeActive: アプリケーションがアクティブになったことをデリゲートに伝えます。

- (void)applicationDidBecomeActive:(UIApplication *)application

UIApplicationDelegateのドキュメントの詳細

于 2013-04-23T22:24:17.090 に答える
0

通話がいつ拒否されたかを知る方法はありません。ただし、このメソッドは、ユーザーが電話を受けると呼び出されます。

    - (void)applicationWillResignActive:(UIApplication *)application {
}
于 2013-04-23T21:45:06.470 に答える