Android检查已拨打电话

lin*_*ize 12 android phone-call

如何从非电话应用程序检查当前是否有电话呼叫?

我需要什么API来检测这个?

nul*_*ull 29

试试这个:

public boolean isCallActive(Context context){
   AudioManager manager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
   if(manager.getMode()==AudioManager.MODE_IN_CALL){
         return true;
   }
   else{
       return false;
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢`return manager.getMode()== AudioManager.MODE_IN_CALL;`其余的都很完美,谢谢! (3认同)
  • 请注意,这在呼叫案例中不起作用。如果我有一个呼叫处于活动状态而另一个正在等待,我会结束活动呼叫并应答正在等待的呼叫,这不会说有一段时间没有呼叫处于活动状态(在完成活动呼叫之后和应答等待呼叫之前) )。从一通电话将电话转到 CALL_STATE_OFFHOOK 的那一刻起,直到电话转到 CALL_STATE_IDLE,无论我是否根本没有接听等待的电话,它始终是 MODE_IN_CALL。遗憾。 (2认同)