2013-02-13 147 views
1

我正在开发一个Android应用程序,该应用程序在点击时具有一个用于初始化电话的按钮。android:在接听电话时在后台拨打电话

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

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

我知道,当呼叫状态正在响铃,摘机或闲置时,我有呼叫监听器执行某些操作,但问题是将呼叫应用程序从我的应用程序放入后台。

顺序:

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

是否有可能以及如何做到这一点?

+0

不要以为你可以。一旦调用者启动它接管,你不能控制自己。 – 2013-02-13 16:23:37

+0

是的,这也是我的想法。但也许有一些方法可以做到这一点。 – oriolparra 2013-02-13 16:25:55

回答

0

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

+0

我已经这样做了,我可以听通话状态,但问题是我的应用程序在前台。 – oriolparra 2013-04-18 10:12:09

0

在使用Activity启动回答调用后,您可以将您的应用放在前台。

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

现在的问题是,在启动活动将是一个新的活动(这将清除所有以前的活动 - 没有这些标志也不会从呼叫屏幕返回回)。 我不知道我该如何回到已经在后台工作的活动。

+0

我需要在后台返回工作活动... – oriolparra 2014-04-04 13:10:09