【问题标题】:Detect incoming VoIP call Android检测传入的VoIP呼叫Android
【发布时间】:2016-01-02 14:20:39
【问题描述】:

当用户接到 Viber/Skype/WhatsApp 呼叫时,我想关闭我的应用程序。我尝试使用 AudioFocus 监听器和通知解析,它们都不是很好。可能有其他方法可以帮助我吗?

【问题讨论】:

  • 请详细说明您尝试了什么以及遇到了什么问题。
  • 当我尝试解析通知时,我遇到了一个问题,只能使用它,它是手动检查所有 VoIP 应用程序中的所有类型的通知,查找短信/图片通知中的数据之间的差异/来电通知中的微笑和数据,然后将意图发送到我的应用程序以关闭。这将一直有效,直到第一次更改当前 VoIP 应用程序的通知数据。(谁知道 Viber/Skype/WhatsApp 更新这部分代码的频率);
  • 这也不起作用:AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE); int result= am.requestAudioFocus(null, AudioManager.STREAM_VOICE_CALL, AudioManager.AUDIOFOCUS_GAIN);
  • 嗨,你成功了吗?我也面临着同样的挑战......
  • 你们有运气吗?

标签: java android voip


【解决方案1】:

在音频管理器中检查 MODE_IN_COMMUNICATION 应该可以实现这一点。 https://developer.android.com/reference/android/media/AudioManager.html#MODE_IN_COMMUNICATION

public static boolean isVoip(Context context){
   AudioManager manager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
   if(manager.getMode()==AudioManager.MODE_IN_COMMUNICATION){
         return true;
   }
   else{
       return false;
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    • 2023-03-24
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多