亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android通話默認(rèn)打開揚(yáng)聲器的方法

 更新時(shí)間:2018年08月29日 14:07:46   作者:皮囊至簡(jiǎn)  
這篇文章主要介紹了Android通話默認(rèn)打開揚(yáng)聲器的方法.小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

在打電話時(shí)如果想在電話接通時(shí)默認(rèn)采用揚(yáng)聲器進(jìn)行audio的輸出,也就是打開免提。具體的做法是在InCallService文件中,做出下面的修改。

文件:frameworks-base / telecomm/java/android/telecom/InCallService.java

增加oncreate方法,添加phone狀態(tài)監(jiān)聽的listener。

  @Override
  public void onCreate() {
     super.onCreate();
    MyPhoneStateListener phonehoneStateListener=new MyPhoneStateListener();
    TelephonyManager mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
    mTelephonyManager.listen(phonehoneStateListener,PhoneStateListener.LISTEN_CALL_STATE);
  }

增加銷毀事件

  @Override
  public void onDestroy() {
    super.onDestroy();
  }

增加事件的定義。

  private class MyPhoneStateListener extends PhoneStateListener{
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {
      switch (state) {
      case TelephonyManager.CALL_STATE_IDLE:
        setAudioRoute(CallAudioState.ROUTE_EARPIECE);
        break;
      case TelephonyManager.CALL_STATE_RINGING:
        setAudioRoute(CallAudioState.ROUTE_SPEAKER);
        break;
      case TelephonyManager.CALL_STATE_OFFHOOK:
      setAudioRoute(CallAudioState.ROUTE_SPEAKER);
      default:
        break;
      }
      super.onCallStateChanged(state, incomingNumber);
    }
  }

如果是MTK平臺(tái)的話,可以開啟如下這個(gè)宏,也可以達(dá)到想要的效果

MTK_TB_APP_CALL_FORCE_SPEAKER_ON = yes

Android手機(jī)聽筒和揚(yáng)聲器切換

 AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
 private void setSpeakerphoneOn(boolean on) {
         if(on) {
             audioManager.setSpeakerphoneOn(true);
         } else {
             audioManager.setSpeakerphoneOn(false);//關(guān)閉揚(yáng)聲器
             audioManager.setRouting(AudioManager.MODE_NORMAL, AudioManager.ROUTE_EARPIECE, AudioManager.ROUTE_ALL);
             setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
             //把聲音設(shè)定成Earpiece(聽筒)出來,設(shè)定為正在通話中
             audioManager.setMode(AudioManager.MODE_IN_CALL);
         }
 }

 以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論