6

私のアプリには、電話をしている場合にユーザーに強調したほうがよい部分があります。

電話中かどうかを確認するための電話はありますか?残念ながら、「呼び出し」は、明らかな理由でAPIドキュメントでチェックするための恐ろしい言葉です。

4

4 に答える 4

5

とのサイズの違いを見て[[UIScreen mainScreen] bounds]ください[[UIScreen mainScreen] applicationFrame]。差分が20ピクセルで、ステータスバーを非表示にしていない場合、ユーザーはおそらく通話中ではありません。差が40ピクセルの場合、通話中に表示される緑色に光るステータスバーは通常のステータスバーの約2倍であるため、ユーザーはおそらく通話中です。

私はこれまでこれをやったことがないので、YMMV。頑張って、うまくいくかどうか教えてください!

于 2009-10-08T01:58:20.160 に答える
2

呼び出しが着信してもアプリケーションは終了せず、非アクティブ状態に移行します。UIApplicationDelegateで次のメソッドを呼び出す必要があります。

- (void)applicationWillResignActive:(UIApplication *)application

このメソッドは、iPhoneがロックされている場合など、他の場合にも呼び出されます。このメソッドは、電話の着信が原因であるかどうかを判断する方法がありません。

于 2009-10-07T23:52:30.587 に答える
2

CoreTelephonyフレームワークが教えてくれます。

CTCallCenter currentCallsメソッドは、現在アクティブなセルラーコールのセットを返します。

于 2011-10-19T21:38:51.660 に答える
0

iPhoneが電話を受けると、アプリケーションは終了します。このイベントを適切に処理するためのコールバックを登録できます。以下を参照してください。

http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/applicationWillTerminate

通話が終了すると、アプリケーションが再起動します。

通話中に状態を保持しているように見えるアプリケーションは、うまく記述されています:)


ああ!私はあなたの実際の質問を読みました。

電話アプリケーションにアクセスするためのAPIが見つかりません。また、知りません。私の唯一のアドバイスは、電話は他のアプリケーションと同じようにアプリケーションであり、すべてのアプリケーションが提供するhttpトンネルを介して情報を公開できるということです。

ユーザーが同じ結果を達成するために押すことができる「私は電話中です」ボタンを持っているだけでよいのだろうか?

于 2009-10-07T23:38:34.527 に答える