Scanner als Input Method

  • Antworten:9
AlCap0rn
  • Forum-Beiträge: 32

01.06.2012, 09:09:56 via Website

Ist es möglich, dass wenn ich beispielsweise einen Scanner am Android angeschlossen habe (oder der Scanner an meinem Gerät integriert ist) und ich betätige die Triggertaste zum Scannen, dass er mir das Ergebnis, also das was der Scanner gelesen hat, in ein Input-Feld reinschreibt?

Ich habe durch meine Recherche herausbekommen, das ich aufjedenfall einen Input Method Service definieren muss. Nur die Frage die halt aufkommt ist, ob das möglich ist, durch einen Tastendruck einen Scanner zu aktivieren und dieser Scanner fügt etwas ins Inputfeld ein sobald er was gelesen hat?

Es geht nicht darum, auf dem Bildschirm eine Taste zudrücken die den Scanner anmacht.

Eventuelle Links zu ähnlichen Problematiken wären auch recht interessant.

Vielen Dank schonmal ;-)

Antworten
Ultimate Software
  • Forum-Beiträge: 110

01.06.2012, 11:27:10 via Website

Wenn du einen Scanner an dein Android-Gerät erfolgreich angeschlossen hast kannst du dich diesem Problem widmen.... ;-)


(und ich meine nicht nur ne Kabelverbindung, sondern auch Treiber etc.)

<td class="alt1"> <!-- google_ad_section_start -->Mehrere WLANs?? Versuch doch mal den <a href="http://goo.gl/7ojEp&quot; target="_blank">SSID Selector</a>: <img src="images/smilies/extra/thumbsup.gif" border="0" alt="" title="Thumbsup" class="inlineimg" /><!-- google_ad_section_end --> </td>

Antworten
AlCap0rn
  • Forum-Beiträge: 32

01.06.2012, 12:45:42 via Website

Treiber existiert bereits. Der Scanner ist am Gerät und funktioniert beim normalen Bardocde Scanning

Ist auch mehr ein Imager als Scanner Eine Scanning Funktion die die Zahlen des Barcodes liefert, existiert auch.

Ist das also möglich?

— geändert am 01.06.2012, 12:46:41

Antworten
Ultimate Software
  • Forum-Beiträge: 110

01.06.2012, 13:08:48 via Website

Na wenn du einen Treiber hast, dann ja wohl auch eine API dazu, falls sie mehr kann als die Standard-Funktionen.
Aber was ist ein Imager? Meinst du eine Kamera.... nutzt also z.B. die Standard-Cam als "Scanner" oder was meinst du?

<td class="alt1"> <!-- google_ad_section_start -->Mehrere WLANs?? Versuch doch mal den <a href="http://goo.gl/7ojEp&quot; target="_blank">SSID Selector</a>: <img src="images/smilies/extra/thumbsup.gif" border="0" alt="" title="Thumbsup" class="inlineimg" /><!-- google_ad_section_end --> </td>

Antworten
AlCap0rn
  • Forum-Beiträge: 32

01.06.2012, 13:12:51 via Website

Es handelt sich dabei um kein Handy sondern ein eigenst entwickeltes Gerät. Dieser Imager dient auch als Kamera ja! Und der native Teil stellt alles bereit an Funktionen und kann mit der oberen Fläche (Anwendungsschicht) kommunizieren, sprich wenn ich was lese, kann die App das verwerten. Die Frage ist jetzt, kann ich das als Service (IME) nutzen, das ich die IME aktiviert habe, parallel zur Tastatur und wenn ich dann während ich mich aktiv in einem editText befinde und dann einen Bardocde einscanne, ob er mir das ins Input-Feld schreiben kann. Darauf wollte ich hinaus (ich habe mich vllt ein wenig unpräzise ausgedrückt) :D

Antworten
my2cent
  • Forum-Beiträge: 13

01.06.2012, 14:26:23 via Website

Uih.... also willst du eigentlich wissen, über welchen "Event" du auslösen könntest, dass eine aktuelle Activity die Daten vom "Scanner" bekommt. Tja, dann muss dein Scanner einen Intent versenden, die Activity darauf lauschen und dann den editText anpassen......

Antworten
AlCap0rn
  • Forum-Beiträge: 32

04.06.2012, 08:17:01 via Website

Ich hätte das aber gerne als IME, weil ich keine Activity laufen haben möchte.

Es gibt keine Android-Scanner-Activity! Es ist einfach ein native implementierte Funktion. Drücke ich die Trigger-Taste und ich habe ein aktives Edit-Text-Feld soll er mir das Ergebnis der Funktion in das EditText-Feld schreiben. Und das möchte ich gerne als IME realisieren. Da ein IME ja nichts anderes als ein Service ist. Nichts mit Activity :D

Um das mal besser zu verdeutlichen. Ich habe eine ganze normale Texteditor auf und möchte Barcodes untereinander scannen, dann will ich nur, das er jeden Barcode in das EditText schreibt, zum Beispiel sinnvoll für Lagerlogistik!

Ich habe mir das so vorgestellt. Ich bin auf einem EditText aktiv, dann ploppt wie gewohnt die Tastatur hoch. Zeitgleich soll aber auch meine IME laufen (die keine Oberfläche hat), und soll dann jedesmal wenn die Triggertaste zum Scannen aktiviert wurde (bzw. wenn der Scan ein Ergebnis liefert), diesen dann unmittelbar dem EditText hinzufügt.

Ziel ist es halt, es unabhängig von irgendwelchen Aktivities laufen zu lassen, nach meiner Recherche lässt sich das halt gut mit IMEs realisieren. Nur ob es meins auch ist, ist hier die großer Frage

— geändert am 04.06.2012, 08:33:17

Antworten
Ultimate Software
  • Forum-Beiträge: 110

04.06.2012, 11:25:10 via Website

Siehst du mal, da lohnt es sich doch am Anfang schon mal mehr zu schreiben, von all dem hast du ja bislang nichts gesagt. Was du also eigentlich bauen möchtest ist ein Softkeyboard, welches als Input auch die Daten des Scanners (statt den Tastendrücken) übermitteln kann. Das kannst du natürlich durch einen ausgezeichneten Knopf auf dem Keyboard machen (wie z.b. bei dem Knopf für die Spracherkennung) oder "automatischer" in dem dein Input-Method-Manager ggf. selber den Intent abfängt (den, von dem Hardwareknopf) und dann die Daten einfach "einspeist".

<td class="alt1"> <!-- google_ad_section_start -->Mehrere WLANs?? Versuch doch mal den <a href="http://goo.gl/7ojEp&quot; target="_blank">SSID Selector</a>: <img src="images/smilies/extra/thumbsup.gif" border="0" alt="" title="Thumbsup" class="inlineimg" /><!-- google_ad_section_end --> </td>

Antworten
AlCap0rn
  • Forum-Beiträge: 32

04.06.2012, 13:45:26 via Website

Es ist also möglich?

Der Grundgedanke ist kein Softkeyboard. Soll einfach nur die Daten die vom Scanner kommen in das Inputfeld übertragen.

Das heisst meine Taste muss ein Intent werfen und ich muss es einfach nur abfangen und dann mit dem input method manager die Info in ins EditText schreiben. Das hört sich doch schon mal brauchbar an :D

Jetzt eigentlich nur noch die Frage ob die Tastatur geöffnet bleibt, wenn meine Input Method eingreift oder müsste ich selber ein Softkeyboard schreiben wo ich dann als Zusatz de Scannerinhalt abfange? In der Dokumentation steht irgendwie das nur IME zur selben Zeit laufen kann. Aber meine Methode soll kein grafisches Interface beinhalten.

— geändert am 04.06.2012, 13:52:09

Antworten
Ultimate Software
  • Forum-Beiträge: 110

04.06.2012, 13:59:00 via Website

Da wirst du nicht drumherum kommen. Noch gibt es kein Keyboard was eine Art Plugin realisiert hat.

<td class="alt1"> <!-- google_ad_section_start -->Mehrere WLANs?? Versuch doch mal den <a href="http://goo.gl/7ojEp&quot; target="_blank">SSID Selector</a>: <img src="images/smilies/extra/thumbsup.gif" border="0" alt="" title="Thumbsup" class="inlineimg" /><!-- google_ad_section_end --> </td>

Antworten