Is it possible to have multiple active input methods in Android? - android

The situation is: I have a bluetooth device that reads microchips codes. I created an IME application that receives that code and writes it to the currently active TextView.
But in order to work, I have to select the IME I've developed as the default keyboard. However, if I do so, the user will no longer be able to use his default keyboard for regular inputs. (The inputs from the bluetooth device will only be used in 1 or 2 fields of many in a form located in a web page.)
Is it possible for an (non-rooted) Android device to be able to listen to two different input methods (other than actually create a keyboard UI in my own IME)?

Related

Android application for creating aliases, needed functionalities

I would like to create an android application that will allow to define and use of aliases when entering text on the keyboard by the user in the entire system/where possible. Something like the "Texpand - Text Expander" application.
For example:
If we write an SMS, after typing 'wu', a option appears above the keyboard with the option of clicking and expanding this shortcut to the one previously defined in the application, e.g. 'What's up?'.
How can we keep an eye on user keyboard's input from other components and constantly communicate with our aliased application? After installing Texpand, I can see that it uses Services, but I haven't found a way to constantly watch the inputed keyboard's text and synchronize it with the application.
Should I use WindowManager for the option that appears after entering the alias or are there any other methods?
Stack: Kotlin&Compose
I've learned about services, but is there something more needed?

android how to fill TextInput in another application

We have to test application from other vendor(out client) and we need to fullfill text input from our android app(service) and get some info back.
Only way I see now - injects like Instrumentation.sendPointerSync(motionEvent);
But how to do it, if we working from our service to different real activity? Or maybe here is any more elegant solution to send text and push buttons in other app with rooted device as basement?

Android . Activating my application when some string was entered in some other application

I am trying to create a behavior where entering some string in any application will open my application.
I've tried looking around on how to listen for keyboard press or listening for text change, but I couldn't find my required behavior and I don't want to create a custom keyboard for this.
If this is not possible, what will be a good implementation for lunching my application as fast as possible while in the other application?
Answered before the requirement to "don't want custom keyboard"
The only viable way that I can think of is if the user was using a custom keyboard written by you. Custom keyboards can and do act as key-loggers and therefor could detect any key combination, or written word and allow you to execute your code when your conditions are met.
Rerfer to Creating an input method docs
How to open my app as fast as possible from another application?
Press home, launch your app by clicking on the launcher icon
But assuming you mean without doing that, you'll still need to monitor some event, say volume keys pressed or device being shaken for instance, or have you app be running already in the foreground such as what Facebook messenger does (or used to do, I don't know)
Related questions:
What APIs in Android is Facebook using to create Chat Heads?
Listen to volume buttons in background service?
How to detect shake event with android?
Demo of bubbles

Is it possible to keep track of record of user interaction from background in android?

I am working on an android application which can be used to capture the sequence of user interaction on android device. Starting from when the device is powered ON.
This is to be done by an application, based on the users event a script (Comma (,) delimited text format) will be generated which can be used further to played back the records of events.The application must have various button to start, pause, stop button for recording, script creation should also work according to button pressed.
Is it possible to keep track of record of user interaction from background in android?
I didn't get anything about this. Any help or suggestion is well appreciate.
The application you are describing is a KeyLogger. Unless you have root permissions you cannot do this. If you could it would represent a huge security gap in android. It would allow any app to capture credit card numbers, passwords, email address, etc...
Your only options are to use root privileges or write a custom android keyboard; however, that will only let you record keystrokes when your custom keyboard is used.
A better question is what are you trying to do, as there is probably a better way to acheive what you want.

Android: Global Key Listener

I am writing an android app which will record the frequency and timestamps of when a user is using their keyboards (soft or hard) (Example: a parent checking to see if their child was texting during school by giving them timestamps and frequency of key presses). This wouldn't need to know what was being typed, just when something was typed. It would also need to function regardless of what app was using the keyboard.
This is not possible, except perhaps via custom firmware.

Categories

Resources