Respostas:
Esse é um problema de hardware, mas existe um aplicativo chamado toggleheadset2 que possui um widget que permite substituir a chave de hardware, ativando / desativando a saída do fone de ouvido.
Estou com esse problema há muito tempo e a única maneira de ligar / desligar o fone de ouvido / alto-falante era reiniciar o Sony Ericson Xperia (edição à prova d'água). Após um longo período de testes e mexer nas configurações, limpeza, etc., percebi que deveria haver um problema de sensor / software.
A solução foi substituir manualmente o sensor usando inicialmente o SoundAbout , permitindo definir a saída de mídia apenas para o fone de ouvido e as chamadas telefônicas para o alto-falante, mas o widget ToggleHeadset2 é muito mais simples.
Nota: Tentei limpar o plugue várias vezes, mas ele ainda não está funcionando.
Parece que posso resolver o problema ligando o fone de ouvido, desligando o telefone, ligando o telefone novamente e ligando o fone de ouvido algumas vezes lentamente .
E sim, é um problema de hardware resolvido por uma solução de hardware.
O SoundAbout funciona bem, mas pode não ser necessário. Conecte seus fones de ouvido, desligue o telefone, ligue o telefone e remova os fones de ouvido. Isso funcionou no meu GS3. no meu GS3, o ícone do fone de ouvido nunca estava ligado, mas o telefone estava preso no modo fone de ouvido. Não conseguia ouvir nenhuma ligação, não ouvia nenhuma música, A menos que os fones de ouvido estivessem conectados. Os ícones do alto-falante e do Bluetooth foram desativados para que eu não pudesse alternar para eles.
Eu estou tendo esse problema com o meu Samsung Galaxy Note III. Ele sempre acha que os fones de ouvido estão conectados. Eu até substitui o fone de ouvido e limpei os contatos, mas o problema persistiu. O Soundabout realmente contornou o problema redirecionando o áudio. A configuração do áudio da mídia como alto-falante e o áudio da chamada telefônica como fone de ouvido funcionaram bem. No entanto, sempre que eu quero fazer uma chamada no alto-falante ou usar fones de ouvido, definitivamente fica complicado ter que abrir o aplicativo e alterar a configuração. Então, eu tentei o ToggleHeadset2, que foi projetado para enganar o telefone que os fones de ouvido estão ou não conectados. O aplicativo foi listado como incompatível, então recebi um apk para ele e não fez nada para mim. Então eu encontrei o HF Button Widget (<= KitKat). Como o nome sugere, supostamente só funciona no KitKat ou abaixo, e eu estou no pirulito. Mas realmente funcionou para mim.
Então, com isso, recebo um widget que eu uso para alternar os fones de ouvido. Eu praticamente sempre o tenho no modo off-set, o que faz com que o telefone se comporte como normalmente, sem fones de ouvido conectados, por exemplo, eu posso usar o alto-falante nativo para alternar entre o fone e o alto-falante. Eu raramente uso fones de ouvido, o que significa que o problema para mim está completamente resolvido nesse sentido. Quando eu quero usar fones de ouvido, tenho um widget de um clique para usar. Um pequeno incômodo é que o ícone dos fones de ouvido sempre fica na barra de status.