Citiraj:
Autor kasko
Ok, kuzim sto zelis postici, iskreno se nadam da ce ti to i uspijeti tako kako si zamislio da zelis. Neovisno o tome, fora bi bilo imati i BT modul opcenito tako u vozilu za druge korisnike ili tvoj mobitel.
|
Ideja i jest da se ostavi slobodan BT na tabletu za ostale namjene koje podrazumijevaju i ovo gore. Inače ima brdo već isprogramiranih rješenja/appova koji komuniciraju preko BT-a s RPijem ili IOIO boardovima. Ideja je bila, ako postoji USB IBUS adapter, zašto ne direktno/žično?
-------
Good news:
Konačno sam našao način(e) kako bilo koju tipku simulirati, rješenje je prilično trivijalno, ali zahtijeva lower level access u vidu SU, dakle nije opcija za one bez rootanog uređaja:
Java (majka kraljica) runtime.exec. Strašno jednostavno:
Code:
try {
String keyCode = "input keyevent " + KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE;
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec(new String[] { "su", "-c", keyCode });
}
catch (IOException e){
e.printStackTrace();
}
SAUCE
Nakon izvođenja naredbe do obavljanja akcije postoji zadrška od otprilike 200ms, primjetan je taj mali delay, pa se eventualno može riješiti drugim načinom, ali još ga nisam isprobao, čitaj ispod.
--
Drugi način, no koliko čitam, google je onemogućio autocomplete funkciju za interne/privatne klase poput IBinderService i IWindowManagera, pa se moraju skinuti sa primjerice
android git-a.
Ovakav pristup zahtijeva system level pristup, tj. opet SU/root, tj. app bi se morao instalirati u /system/ kako bi se dobio INJECT_EVENTS permission:
SAUCE
Moram isprobati brzinu izvođenja ovakve naredbe.
------
Inače je samo za mediacontrols najlakše ovako preko AudioManagera riješiti:
Code:
AudioManager audio = (AudioManager) getSystemService(AUDIO_SERVICE);
audio.adjustVolume(AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
audio.dispatchMediaKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_FAST_FORWARD));
---
Sljedeće tražim kako aktivirati globalnu "OK, Google" naredbu, tj. koja će reagirati ili kao na homepageu ili još bolje u svakoj aplikaciji koja je trenutno aktivna posebno. Primjerice ako imam otvorenu app Maps, da mi onda naredbu šalje u Maps, ne u google now. Ideje?