我試圖在編程方式中使用audiomanager.setSpeakerphoneOn(true)
在服務中調用揚聲器,但它似乎不工作,我不知道爲什麼。 我應該做點別的嗎?Android以編程方式設置揚聲器
謝謝
我試圖在編程方式中使用audiomanager.setSpeakerphoneOn(true)
在服務中調用揚聲器,但它似乎不工作,我不知道爲什麼。 我應該做點別的嗎?Android以編程方式設置揚聲器
謝謝
檢查您的清單文件是否有權限執行此操作。
我覺得這是允許你需要MODIFY_AUDIO_SETTINGS
它的工作原理!這很容易!謝謝 – Matroska 2010-04-19 07:48:16
在Android 4.1及以上,當你撥打電話,手機自動關閉手機的揚聲器。所以,你需要做的是在監聽呼叫的reciever添加免提電話時,狀態爲「摘機」,甚至把0.5秒的延遲開啓揚聲器一樣,正在取得:
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);
請記住將此添加到電話狀態偵聽器。並且在狀態爲空閒狀態時運行揚聲器電話(早期版本需要)。
祝你好運。
我不知道爲什麼要延遲500毫秒的原因。謝謝! – Ishaan 2017-01-01 12:36:44
類似的問題被提出和回答[這裏] [1] [1]:http://stackoverflow.com/questions/8617381/turn-on-speakerphone-whenever-an-outgoing-叫做/ 21328490#21328490 – 2014-01-24 09:08:49