首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android以编程方式设置免持话筒

Android以编程方式设置免持话筒
EN

Stack Overflow用户
提问于 2010-04-19 01:05:57
回答 2查看 15.4K关注 0票数 14

我试图在服务中使用audiomanager.setSpeakerphoneOn(true)以编程方式在呼叫中设置免持话筒,但它似乎不起作用,我不知道为什么。我应该做点别的吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-19 02:38:43

检查清单文件是否具有执行此操作所需的权限。

我想这就是你需要的权限,MODIFY_AUDIO_SETTINGS

票数 17
EN

Stack Overflow用户

发布于 2014-08-17 14:20:38

在安卓4.1及更高版本中,当你打电话时,手机会自动关闭扬声器。因此,您需要做的是在接收器中添加免提电话,以便在状态为"offHook“时监听正在发出的呼叫,甚至延迟0.5秒来打开扬声器,如下所示:

代码语言:javascript
复制
final Handler mHandler = new Handler();
mHandler.postDelayed(new Runnable() {
    @Override
    public void run() {
    audioManager.setMode(AudioManager.MODE_IN_CALL);
    audioManager.setSpeakerphoneOn(true);
    MainActivity.shouldTurnSpeakerOn = false;
    MainActivity.shouldTurnSpeakerOff = true;
    Log.d("incoming_call","speaker_on");                    
    }
}, 500);

请记住将其添加到电话状态侦听器中。以及当状态为空闲(早期版本需要)时关闭扬声器电话。

祝好运。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2663108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档