1

クリックすると電話をかけるボタンのあるAndroidアプリケーションを開発しています。

通話に応答したことを検出し、ネイティブの電話アプリケーションを自動的にバックグラウンドに置いて、アプリケーションを再度表示したいと思います。その間、コールフォンはバックグラウンドで実行されます。

結果は、スマートフォンの[戻る]ボタンをクリックしたとき、または電話の進行中にアプリケーションを手動で開いたときのように表示される必要があります。ただし、これはボタンを押さずに自動的に実行する必要があります。

呼び出しの状態が呼び出し中、オフフック、またはアイドル状態のときに何かを実行する呼び出しリスナーがあることは知っていますが、問題は、呼び出しアプリケーションをアプリケーションからバックグラウンドに置くことです。

順序:

  1. ユーザーが私のアプリのボタンをクリックして、ネイティブ電話アプリケーション(Android)を起動します。
  2. 通話が開始されます(通話状態:呼び出し中)。
  3. 通話はオフフックです(通話状態:オフフック)。
  4. 自動的に、私のアプリケーションはそれを検出し、ネイティブの電話アプリをバックグラウンドに置き、私のアプリケーションをフォアグラウンドに置きます。

それは可能ですか、そしてどうすればそれを行うことができますか?

4

2 に答える 2

0

バックグラウンド サービスを作成し、BroadcastReceivers を実装して通話状態トリガーをリッスンします。

于 2013-04-18T08:13:26.860 に答える
0

アクティビティの開始を使用して通話に応答した後、アプリをフォアグラウンドに置くことができます。

Intent i = getBaseContext().getPackageManager()
                        .getLaunchIntentForPackage(
                                getBaseContext().getPackageName());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);

問題は、開始されたアクティビティが新しいアクティビティになることです(以前のすべてのアクティビティがクリアされます-これらのフラグがないと、呼び出し画面から戻りません)。バックグラウンドで既に動作しているアクティビティに実際に戻る方法がわかりません。

于 2014-04-03T13:55:09.240 に答える