广播接收方检测Sip会话

问题描述 投票:0回答:1

我的Android应用程序一直在使用麦克风,并希望将麦克风释放到其他应用程序,例如VOIP呼叫。

我已经在清单中注册了广播接收器。但是麦克风没有释放。手机中没有SIM卡,我只想检测SIP会话。

这是清单中的代码

        <receiver
        android:name=".SipCallReceiver"
        android:enabled="true"
        android:exported="true">
       </receiver>

Broadcastreceiver类

     public class SipCallReceiver extends BroadcastReceiver {
 ListeningActivity LA = new ListeningActivity();
@Override
public void onReceive(Context context, Intent intent) {
    SipAudioCall call = null;

    final SipAudioCall.Listener listener = new SipAudioCall.Listener() {


        @Override
        public void onCallEnded(SipAudioCall call) {
            LA.setflgphone(false); LA.onPstop();
        }
        @Override
        public void onCallEstablished (SipAudioCall call) {
            LA.setflgphone(true); LA.Lstop();
        }
    };
   }
 }

任何人都可以让我知道我在这里犯的错误。

谢谢

android broadcastreceiver sip
1个回答
0
投票

我能够解决它。我创建了两个服务。第一个服务使用ScheduledExecutorService按计划间隔监视音频管理器。这将获得音频管理器的模式。没有通讯时,模式将为0。此状态广播到本地注册的广播接收器。广播接收器将停止并启动第二服务,该服务将使用麦克风,具体取决于音频模式。

© www.soinside.com 2019 - 2024. All rights reserved.