2011-01-24 8 views
6

Tutti,Creazione di 'intermediario' Pulsante auricolare in Android

Ho cercato una risposta a questo, ma io non ricevo nulla esatto ... E 'la mia prima volta a scrivere un app Android, quindi si prega di essere gentile :)

Sono abbastanza matto per il supporto minimo di cuffie in Android - a differenza ad esempio iPhone, solo in modo nativo sembra supportare un singolo pulsante, quindi nessun controllo del volume sulla compatibilità delle cuffie. Inoltre, se ascolto musica e arriva una chiamata, il sistema operativo mette in pausa la musica automaticamente, ma il pulsante dell'auricolare funziona ancora SOLO come pulsante multimediale: non posso utilizzarlo per rispondere/terminare la chiamata. Se rispondo alla chiamata tramite lo schermo e preme il pulsante dell'auricolare, la musica ricomincia, ma la chiamata continua ...

Mi piacerebbe creare un'app "middleman" in grado di rilevare che il pulsante dell'auricolare ha stato premuto (tramite Keyevent.KEYCODE_HEADSETHOOK) e può quindi determinare se eseguire l'azione ACTION_MEDIA_BUTTON predefinita (attivare/disattivare la riproduzione nel lettore multimediale scelto) o, in caso di una chiamata in arrivo, mettere in pausa la musica e rispondere al telefono (e quindi, se premuto nuovamente, terminare la chiamata e riavviare il lettore multimediale). Forse anche controllare ACTION_MULTIPLE sul pulsante dell'auricolare per assegnare diverse opzioni (ACTION_MEDIA_NEXT, ACTION_MEDIA_PREVIOUS ecc.). Forse anche essere in grado di determinare se sono stati premuti pulsanti diversi sull'auricolare (se l'auricolare è ad esempio un elegante auricolare per iPhone) e "tradurre" quei pulsanti premuti nell'ACTION_MEDIA_ * appropriato. Questo potrebbe non essere possibile se il sistema operativo non è in grado di distinguere tra i diversi pulsanti, ovviamente.

Ovviamente una simile app dovrebbe ricevere l'intento con una priorità sufficientemente alta da poter interrompere la trasmissione prima che l'attuale lettore multimediale la riceva.

Mi sono occupato della creazione di varie classi BroadcastReceiver e filtri di intent ecc., Ma parte del problema è che l'emulatore bult-in fornito con Eclipse non sembra in grado di simulare un utente che si collega nell'auricolare e/o successivamente facendo clic sul pulsante dell'auricolare. Pertanto, ogni volta che ottengo qualcosa che sembra promettente, devo metterlo sul mio telefono attuale e provarlo - richiede tempo e una seccatura.

3 domande allora:

  1. Mi sto perdendo somethign ovvio - questo è un problema reale e se è così, è già stato risolto?

  2. Se è un problema, è possibile scrivere una tale app di middleman?

  3. Esistono altri emulatori Android in grado di verificare le attività relative all'auricolare?

Grazie,

Rory

+0

Io non so nulla di cuffie, in particolare, ma dovrebbe essere veramente straightforwards da implementare sul vostro Telefono. Basta collegarlo con un cavo USB, e quando si esegue l'applicazione Android da Eclipse verrà distribuito sul telefono. Non è più difficile che correre sull'emulatore. –

+0

Mayra, hai ragione che non sembra che sarebbe troppo male, ma dal momento che tengo l'emulatore aperto, la copia della app richiede un paio di secondi, mentre la copia nel telefono richiede molto più tempo. Forse perche 'ho solo USB 1.0 (lunga storia!). Inoltre, non mi piace mettere app sul mio telefono a meno che non sappia che funzionano bene (cosa che quasi sicuramente non sarà!). – roryhewitt

+0

In realtà, un'altra domanda che avrei dovuto porre: se è possibile avere una tale app, funzionerà su un telefono non rooted? – roryhewitt

risposta

1

Ive già scritto esattamente questo tipo di applicazione. La sua chiamata come il tema di questo thead: Cuffia Pulsante ;-)

http://www.androidpit.com/en/android/market/apps/app/com.kober.headset/Headset-Button-Controller

Saluti Christoph

+0

Christoph: Ottimo, quindi non ho bisogno di scrivere il mio controller per i pulsanti delle cuffie :) Permette di rispondere alle chiamate in arrivo anche tramite il pulsante dell'auricolare? – roryhewitt

+0

OK, leggi solo dove dice che l'ultima versione ha effettivamente implementato la logica di risposta/riaggancio. Ti farò sapere se funziona sul mio Droid X. – roryhewitt

+0

Sì, funziona benissimo. @ Martin, se stai cercando una piccola app carina, Christoph's è davvero bello. – roryhewitt

Problemi correlati