Klawaitura Bluetooth

0

Hej,

Zrobiłem klawiaturę na Androida i chciałbym teraz, aby ta klawiatura była widoczna na innych telefonach przez bluetooth oraz na tym telefonie mogła realizować swoje funkcjonalności. Czy jest możliwe zrobienie czegoś takiego? Mógłbym prosić o jakieś podpowiedzi?

Tutaj kawałek kodu klawiatury:

public class MyInputMethodService extends InputMethodService implements KeyboardView.OnKeyboardActionListener {

    private static final int pic_id = 123;
    EditText editText;
    @Override
    public View onCreateInputView() {
        // get the KeyboardView and add our Keyboard layout to it
        KeyboardView keyboardView = (KeyboardView) getLayoutInflater().inflate(R.layout.keyboard_view, null);
        Keyboard keyboard = new Keyboard(this, R.xml.number_pad);
        Keyboard keyboard2 = new Keyboard(this, R.xml.number_pad2);
        keyboardView.setKeyboard(keyboard);
        keyboardView.setOnKeyboardActionListener(this);
        return keyboardView;
    }




    @Override
    public void onKey(int primaryCode, int[] keyCodes) {

        InputConnection ic = getCurrentInputConnection();
        if (ic == null) return;
        switch (primaryCode) {
            case Keyboard.KEYCODE_DELETE:
                CharSequence selectedText = ic.getSelectedText(0);
                if (TextUtils.isEmpty(selectedText)) {
                    // no selection, so delete previous character
                    ic.deleteSurroundingText(1, 0);
                } else {
                    // delete the selection
                    ic.commitText("", 1);
                }
                break;
            case 53:
                Toast.makeText(getApplicationContext(), "Toast", Toast.LENGTH_SHORT).show();
                break;
0

Jest możliwe coś takiego. Musisz nawiązać połączenie bluetooth pomiędzy dwoma urządzeniami, a oba urządzenia muszą mieć zainstalowaną Twoją apkę, która może pełnić jednocześnie rolę klienta i serwera lub też możesz stworzyć 2 osobne apki - klient i serwer. Możesz poczytać więcej na ten temat tutaj: https://developer.android.com/guide/topics/connectivity/bluetooth#ConnectDevices. Najpierw polecałbym Ci zrobić jakieś proste przesyłanie i odbieranie wiadomości, a w kolejnym kroku możesz spróbować obsłużyć Twój pomysł z klawiaturą. Nie wiem co konkretnie chcesz zrobić. Jeśli chcesz wymusić pisanie na klawiaturze, to nie wiem, czy jest to możliwe. Trzeba by doczytać, ale podejrzewam, że tak, bo frameworki do automatyzacji testów UI robią takie rzeczy.

0

Dawno nie dłubałem przy BT (zarządzałem połączeniem słuchawki BT z telefonem jak wchodziło NFC), ale z tego co pamiętam, to twoja apka powinna wystawić połączenie pod konkretnym profilem (HID) skojarzonym z klawiaturą - https://pl.wikipedia.org/wiki/Profile_Bluetooth
Na pewno nie potrzebujesz, aplikacji po obu stronach. Jeśli poprawnie obsłużysz profil HID (jako serwer), to prawie dowolne urządzenie będzie mogło się połączyć z twoja klawiaturą, bez instalacji dodatkowego softu.

0

Witam,
chciałbym się podpiąć pod kolegi postem, czy może ktoś Wie (lub podpowie jak) przesyłać proste wiadomości przez bluetooth z jednego telefonu na drugi po naciśnięciu przycisku na klawiaturze. Wcześniej ręcznie użytkownicy telefonów sparowali by się ze sobą.

1 użytkowników online, w tym zalogowanych: 0, gości: 1