我的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();
}
};
}
}
任何人都可以让我知道我在这里犯的错误。
谢谢
我能够解决它。我创建了两个服务。第一个服务使用ScheduledExecutorService按计划间隔监视音频管理器。这将获得音频管理器的模式。没有通讯时,模式将为0。此状态广播到本地注册的广播接收器。广播接收器将停止并启动第二服务,该服务将使用麦克风,具体取决于音频模式。