gpt4 book ai didi

java - 如何在通话期间打开扬声器

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:35 24 4
gpt4 key购买 nike

我正在打电话时试着打开扬声器。我试过这个密码。注册新的电话侦听器。但这不管用。它显示吐司信息,但扬声器仍然是无声的(默认情况下只有听筒)。

@Override
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
switch (state) {
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.i(LOG_TAG, "onCallStateChanged: CALL_STATE_OFFHOOK");
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}

Toast.makeText(mContext,"Call, time to turn speaker on",Toast.LENGTH_SHORT).show();
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(true);
break;
}
}

当然,我在androidmanifest.xml中添加了权限。
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

编辑
这个aslo不起作用。
返回false(toast消息为false);
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.i(LOG_TAG, "onCallStateChanged: CALL_STATE_OFFHOOK");
try {

Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}

Toast.makeText(mContext,"Call, time to turn speaker on",Toast.LENGTH_SHORT).show();
audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
((Activity)mContext).setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setSpeakerphoneOn(true);
boolean check = audioManager.isSpeakerphoneOn();
Toast.makeText(mContext, "Speaker is on :" +String.valueOf(check),Toast.LENGTH_SHORT).show();
break;

最佳答案

我有同样的问题,因为自定义rom。我已经安装了stock rom,一切都很好,这是我的代码

audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
audioManager.setMode(AudioManager.MODE_IN_CALL);
if (!audioManager.isSpeakerphoneOn())
audioManager.setSpeakerphoneOn(true);
audioManager.setMode(AudioManager.MODE_NORMAL);

关于java - 如何在通话期间打开扬声器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27578787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com