gpt4 book ai didi

android - 如何为 VoIP 调用制作 PhoneStateListener

转载 作者:行者123 更新时间:2023-11-29 02:04:20 26 4
gpt4 key购买 nike

我正在使用 PhoneStateListener 我想听听是否从 Viper 或 Skype 或任何类似的东西进行了 VoIP 调用,我正在为 PhoneStateListener.LISTEN_DATA_ACTIVITY 实现监听器但是它不工作写。这是我的代码

public class VoIPDetectionActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


TelephonyManager obj = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener listener1 = new PhoneStateListener(){
@Override
public void onDataActivity (int direction){
String stateString = "N/A";
switch (direction) {
case TelephonyManager.DATA_ACTIVITY_NONE:
stateString = "Idle";
break;
case TelephonyManager.DATA_ACTIVITY_IN:
stateString = "Off Hook";
break;
case TelephonyManager.DATA_ACTIVITY_INOUT:
stateString = "Ringing";
break;
case TelephonyManager.DATA_ACTIVITY_OUT:
stateString = "Ringing";
break;
}
}
};



// Register the listener with the telephony manager
obj.listen(listener1, PhoneStateListener.LISTEN_DATA_ACTIVITY);
}

我得到了 TelephonyManager.DATA_ACTIVITY_NONE 但没有得到其他的,任何人都可以帮我解决这个问题吗?提前致谢

最佳答案

这可能行不通的一些原因。大多数时候 Voip 通过 wifi 发生,根据文档,PhoneStateListener.LISTEN_DATA_ACTIVITY 仅适用于蜂窝网络。另外,我不确定 Viper,但 Skype 使用它自己的 Voip 协议(protocol)来加入另一个 Spanner 。

一个可能的解决方案是轮询 AudioManager 的通信模式。

这是一个链接,显示有人对此进行了设置。

How implement the VOIP application using android.net.rtp package

关于android - 如何为 VoIP 调用制作 PhoneStateListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10895245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com