2011-01-19 12 views
4

スピーカーフォンがオンになっているかどうかをプログラマビリティで調べる必要があります。androidでスピーカーフォンがオンかどうかを調べる方法

以下の方法を使用しているかどうかはわかります。

AudioManager.isSpeakerphoneOn(); 

私の場合スピーカーが何らかの方法でオンになっているにもかかわらず、誤って戻っています。

私は以下の2点を知る必要があります。

1.スピーカーの状態を見つけるためのブロードキャストアクションがあります。

2.スピーカーの電話の状態の変更を見つける方法がありません。

+0

を移動します。私はあなたがあなたのアプリケーションの文脈から去っていくことを願っています(AudioManager)context.getSystemService(Context.AUDIO_SERVICE);はいの場合は、動作するはずです。 (そのシステム全体のサービスであり、アプリケーションが電話などを処理している場合を除き、それに干渉するように求められていません) –

+0

はい、実際には音声通話が接続されています。この場合はスピーカーがオンになっています。今、電話に関連するものは何ですか? uはここに表示されているように私は、あなたが放送受信機を使用すべきだと思う – user388269

+0

を提案してくださいすることができます:[リンガーモード変更リスナー放送受信機] [1] [1]:http://stackoverflow.com/questions/7483961 /着信音モード変更受聴者放送受信機 –

答えて

0

スピーカーのON機能を試してみてください。

AudioManager audioManager = (AudioManager) Home.this.getSystemService(Context.AUDIO_SERVICE); 
audioManager.setSpeakerphoneOn(true); 
audioManager.setMode(AudioManager.MODE_IN_CALL); 
0

以下のリンクを確認してください。役に立つかもしれない。

Turn on speakerphone whenever an outgoing call is made

しかし、リンクブロードキャストレシーバを使用していません。その瞬間にスピーカー機能がオンかどうかをチェックするだけです。ここで

0

あなたはどのようにあなたがあなたのAudioManagerを取得している

AudioManager audioManager = (AudioManager) MainActivity.this .getSystemService(Context.AUDIO_SERVICE); 
    audioManager.setMode(AudioManager.MODE_IN_CALL); 

    if(audioManager.isSpeakerphoneOn()){ 
     audioManager.setSpeakerphoneOn(true); 


    }else if(!audioManager.isSpeakerphoneOn()){ 


    } 
関連する問題