2010-02-04 10 views
8

Szukam sposobu inicjowania połączenia audio między telefonem z systemem Android i zestawem słuchawkowym w mojej aplikacji. Pomysł polega na uproszczeniu procesu łączenia w taki sposób, aby użytkownik nie musiał już przechodzić przez różne menu ustawień (Aplikacje -> Ustawienia -> Sieć bezprzewodowa & Networs -> Ustawienia Bluetooth).Programowo podłącz się do zestawu słuchawkowego Bluetooth z aplikacji Android.

Oba urządzenia powinny być już sparowane, a adres Bluetooth zestawu słuchawkowego jest znany.

O ile się dowiedziałem, możliwości Bluetooth (dostępne od wersji 2.0 zestawu Android SDK) są ograniczone do wykrycia Bluetooth i połączenia kanałów RFComm (host/klient) między telefonem z systemem Android i urządzeniem Bluetooth. Czy istnieje inny sposób na żądanie profili Bluetooth w systemie Android, aby zainicjować połączenie ze znanym urządzeniem z aplikacji lub jest to niemożliwe?

+0

Czy znalazłeś odpowiedź na to pytanie? – JonatanEkstedt

Odpowiedz

1

Czy obejrzałeś klasę BluetoothAdapter? Wygląda na to, że możesz zrobić wszystko, czego potrzebujesz, za pośrednictwem tej klasy, chyba że źle zrozumiem pytanie.

Co do inicjowania połączenia z konkretnym urządzeniem, czy telefon nie będzie automatycznie parować ze znanym urządzeniem po włączeniu Bluetooth?

+0

Jeśli rozumiem to poprawnie, klasa BluetoothAdapter zapewnia mi tylko kontrolę nad częścią stosu Bluetooth Androids: dzięki BluetoothAdapter na pewno możesz odkryć inne urządzenia i sterować radiem Bluetooth, ale wydaje mi się, że nie mogę zainicjować innego połączenia niż Link RFComm. Proszę mnie poprawić, jeśli się mylę ... Co do automatycznej pary: to czasem działa. Najczęściej, gdy jednak przez dłuższy czas czekam na automatyczne połączenie (bez powodzenia) i dlatego jestem raczej zainteresowany rozwiązaniem programowym. –

0

Używam poniższego kodu, aby uzyskać usługę IBluetooth, i ma on funkcję sevral, w tym podłącz zestaw słuchawkowy.

IBinder b = ServiceManager.getService("bluetooth"); 
if (b != null) { 
     IBluetooth mBluetoothService = IBluetooth.Stub.asInterface(b); 
    } 

Ale te apis ukryte na poziomie aplikacji, i są one różne na różnych android sdk wersję.Podobnie musi spełniać kod w środowisku Android całego źródłowego lub użyć refleksji do nich dostęp.

Powiązane problemy