【发布时间】:2011-01-19 03:33:06
【问题描述】:
我需要通过可编程性来确定免提电话是否打开。
我知道无论是否开启,我们都可以使用下面的方法找到。
AudioManager.isSpeakerphoneOn();
在我的情况下,即使它返回错误,即使扬声器以某种方式打开。
我需要知道以下两件事。
1.是否有任何广播动作来查找扬声器状态。
2.有什么办法可以找到免提电话状态变化
【问题讨论】:
-
您如何获得 AudioManager。我希望你从你的应用程序上下文中得到。 (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);如果是,那么它应该可以工作。 (它是一项系统范围的服务,除非您的应用程序正在处理电话等,否则您不会被要求干预它)
-
是的,实际上,一旦连接了语音呼叫,我就会启动我的应用程序。在这种情况下,扬声器正在打开。现在有什么与电话有关的事情吗?你能建议一下吗
-
我认为你应该使用广播接收器,如下图所示:[Ringer mode change listener Broadcast receiver][1] [1]: stackoverflow.com/questions/7483961/…
标签: android