1

我正在开发一个 Android 应用程序,该应用程序有一个按钮可以在单击时启动呼叫电话。

我想检测来电电话何时被接听并自动将本机电话应用程序置于后台并再次显示我的应用程序。同时,呼叫电话在后台运行。

当您单击智能手机的后退按钮或在通话过程中手动打开我的应用程序时,结果必须看起来像。但这应该在不按任何按钮的情况下自动完成。

我知道当呼叫状态为响铃、摘机或空闲时,我有呼叫侦听器做某事,但问题是将呼叫应用程序从我的应用程序置于后台。

序列:

  1. 用户单击我的应用程序中的按钮以启动本机电话应用程序(Android)。
  2. 电话开始(通话状态:振铃)。
  3. 电话摘机(通话状态:摘机)。
  4. 自动,我的应用程序检测到它并将本机电话应用程序置于后台并将我的应用程序置于前台。

有可能吗?我该怎么做?

4

2 回答 2

0

创建后台服务并实现 BroadcastReceivers 来监听呼叫状态触发器。

于 2013-04-18T08:13:26.860 回答
0

您可以在使用 Activity start 接听电话后将您的应用程序置于前台。

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 回答