我调用方法audiomanager.setMode(MODE_IN_CALL),我的耳机不再工作了

时间:2015-08-03 01:59:29

标签: java android android-audiomanager headset

正如我上面提到的,我得到AudioManager实例并使用MODE_IN_CALL启动它,但是当我关闭我的应用程序(没有被杀)时,我无法让我的耳机在使用其他应用程序时工作,请帮助。就是这样我设置了错误的模式我的问题的原因? 这是代码:

...
<p>
  <strong>Lead:</strong>
  <%= mailer.lead_id %>
</p>

<%= form_for(@mailer, @payment) do |f| %>
  <%= f.hidden_input :type, value: 'CK' %>
  <%= f.number_field :pmt, in: 12..24 %>
  <%= f.submit 'Process Payment' %>
<% end %>

我还打电话给其他一些可能与这个问题有关的方法

private boolean initDefaultSensor() {
    if (proximitySensor != null) return true;
    if (sensorManager == null || audioManager == null) return false;
    proximitySensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
    if (proximitySensor == null || audioManager == null) {
        return false;
    }
    audioManager.setMode(AudioManager.MODE_IN_CALL);
    return true;
}

1 个答案:

答案 0 :(得分:0)

根据我的研究,audioManager.setMode(AudioManager.MODE_IN_CALL)在Android 4.4以上版本上无法运行,并且只能由系统应用程序/服务访问。如果您尝试getMode(),则会得到AudioManager.MODE_NORMAL的回报。

但是,如果要在Android L中使用它,则可以使用audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION)