I'm developing an application where I do not want the keyboard in text fields to be replaced by a third party one that a user has installed. I want the system one to be always used. Alternatively, a custom one included with my app to be always used.
Does anyone know how this can be achieved?
You cannot control what keyboard the user uses within your app on Android, sorry.
At best, you could always make the user use your keyboard, but then you'd have to extend and customize every UI component that accepts input to show your keyboard when clicked instead.
Related
I'm working on an Android app that needs to take input in Arabic whenever the User taps on an EditText view. So how do I change the keyboard language programatically or ask the User to do so?
I conducted extensive research and found out that it can be done via:
a) creating a custom Arabic keyboard,
b) using the IME manager to prompt the user to change input method by calling showInputMethodPicker(),
c) using the IME manager to change input method by calling setInputMethod.
of these, (c) is only workable for System apps, and (a) requires a lot of time (which I currently don't have), and (b) requires the user to manually enable it.
Is there absolutely ANY simple and workable way to accomplish this? Any external API that I could use or anything at all?
https://www.codeproject.com/Questions/996415/ceate-custom-arabic-keyboard-for-android
Above link can help you.For getting above required feature you need to make custom keyboard Arabic then open that keyboard when you type in edit text.
I'm following posts like:
How to develop a soft keyboard for Android?
Create Custom Keyboard in Android
I was wondering though, is their a way to default to using another keyboard?
IE: I want to only cover the email input, nothing else. What can I do to make it use the system keyboard, or Swift or another keyboard for all other inputs (Numbers, general text etc.).
http://developer.android.com/reference/android/text/InputType.html
Any help is appreciated, I've not gotten to play too much with this, just want to see feasibility before I start a project.
Cheers,
Justin W.
Using InputMethodService, you can definitely switch to another IME if you want to.
But, once another IME is activated, you cant switch from another IME to your IME. This is for security reasons.
It's clearly mentioned in the Docs.
A client application can ask that the system let the user pick a new
IME, but can not programmatically switch to one itself. This avoids
malicious applications from switching the user to their own IME, which
remains running when the user navigates away to another application.
An IME, on the other hand, is allowed to programmatically switch the
system to another IME, since it already has full control of user
input.
I want to create a custom keyboard for my application. ie. consider a simple text input and when I click on that, I want a custom keyboard to appear. For ex : a dialler like keyboard, having keys 0-9 and then some custom buttons for my application. Is it possible to do that in android?
Yes, this is possible. There are two ways to approach this:
Create your own input method (keyboard) - here's an example on google of how this can be done: http://developer.android.com/resources/samples/SoftKeyboard/index.html - you'll then need to set this keyboard as an IME in your app.
Create your own view with a bunch of buttons to handle your own stuff. This won't be a "keyboard" in a true android way, but it would do everything you need for your app. I have seen apps that contain their own "keyboards" designed in this way.
In addition, keep in mind that even the basic android keyboard has several "versions" available: alpha, keypad, symbols, etc.
Which way you prefer to go depends on your specific needs, your development abilities and time constraints.
Create your own view with a bunch of buttons to handle your own stuff. This won't be a "keyboard" in a true android way, but it would do everything you need for your app. I have seen apps that contain their own "keyboards" designed in this way.
In addition, keep in mind that even the basic android keyboard has several "versions" available: alpha, keypad, symbols, etc.
Which way you prefer to go depends on your specific needs, your development abilities and time constraints.
I wish to create my own custom keyboard on android. It seems the below project on google code project should be able to achieve this. But to extension to this what I also want to add is ability to handle browser events when user is using custom keyboard. ie if user clicks on browser address bar or any text box on the page opened I should be able to determine that as well? Is there a way possible?
http://code.google.com/p/android-misc-widgets/source/checkout
Thanks,
nil
I'm not sure what your question is, but I think you are asking how to create a keyboard that is used when the user clicks on textfields in other apps. Is that right?
If you want to create your own virtual keyboard then you should definitely start by reading the Android IME Docs they are really good and even provide code for a example keyboard that you can download.
I have an application that I have made searchable, and I want to include it in the Google Search bar by default, or give my users the option of enabling it from within my application. I have already exposed it by adding android:includeInGlobalSearch into my searchable.xml, but how would I enable it from my settings within the application?
I know I can also launch the Settings.ACTION_SEARCH_SETTINGS activity and have them select it, but how would I shift the focus/scroll to my application if it is below the initial fold?
AFAIK, you can't. The user has to enable it, you can't force them to. You can' control the focus scroll either, best you could do is experiment with different names and see how this affects sorting.