广播接收器检测Sip会话



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

我已在清单中注册了广播接收器。但麦克风并没有被释放。手机里没有sim卡,我只对检测SIP会话感兴趣。

这是我在舱单中的代码

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

广播接收机类

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();
}
};
}
}

谁能告诉我我在这里犯的错误吗。

谢谢

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

最新更新