I would like to access the word lists used on android phones for spell checking (not including the user-defined-dictionary).
I am writing an app which i would like to be able to check if a word exists in the current phone users language. I imagine their is some API call or service i can use to access the build in word lists?
Any help would be great, thanks!
From what i know, each IME has its own dictionary and they probably implement their own method of reading from it. I have multiple keyboards installed on my phone, and if I add a word to the standard android keyboard, it still shows up as a miss-spelling if I switch to another keyboard.
Related
I am developing an Android application (Xamarin Forms) where the user will be entering personal and potentially sensitive information. I would like to prevent the keyboard from "learning" words that the user enters into the application.
I know it is possible for the user to manually delete learned words from their phone (as explained here: https://trendblog.net/delete-learned-words-android-keyboard/ ) but is it possible for an application, or specifically text entries, to tell Android to not learn from entered text?
In Xamarin Forms Entry, try turning off text prediction:
<Entry ... IsTextPredictionEnabled="false" />
I don't know whether that also disables "remembering" what you type. Try it, and leave a comment whether that worked.
If no cross-platform solution is suggested, then you'll need to make a "custom renderer" for Entry, in your .Android project.
There, behavior is controlled by the input type.
Try visible password or maybe no suggestions. (not sure exactly what those are in xamarin, but intellisense will show you the options, at the right place in the custom renderer's code.)
I'm looking to make an app that adds a bunch of words to the users dictionary.
I know I can use UserDictionary.Words.AddWords however it is not actually adding the words to the dictionary.
It looks like "WRITE_USER_DICTIONARY" permission was removed in M, is there a different way to add words to a users dictionary or is that completely gone now?
UserDictionary.Words can no longer be accessed from Marshmallow (API 23) onwards.
Reference : Android Issue Tracker - Issue 199199
The user dictionary is now accessible only by the current spellchecker and keyboard. It was heavily abused by apps to scoop user dictionary. Out of the ten top apps using it there wasn't a single legit one. My favorite was the one which used a bug in keyguard to unlock the device after [it] "scans" [your] fingerprint from the screen! This is intended behavior.
I often find myself writing to different people in different languages. Every time I have to switch to the correct language to avoid false auto-correction.
The language only depends on the person I am talking to, that is I will always talk in italian to a, b and c; in english to l and m; in french with x.
Is there a keyboard that keeps track of that, or a way to have it automatically configured when switching contacts?
No
And here is why: the User can set the keyboard in the settings for the phone. Also called input method editor (IME) by google.
As you can see in this developers guide, you can create your own IME.
But the problem is, you need to get the Contact data from the App that you are running (What's App, Telegram, Slack, etc), and unless they support that, what I very much doubt, you will not pull this off.
Maybe, quite hackish.
What might work is that the moment you open your custom IME, it takes a screenshot (not sure it could do that). Use that screenshot to parse out the Contact name. Try to match that with the Accounts on the phone. And use that to set the keyboard... But that is not a Keyboard I would like to have on my phone if it wasn't developed my me!
I am trying to make an app to where I can get custom emojis to be added to the edittext field in the android messenger app and I am having a hard time getting access to that edit text field. Can anybody provide any help with this. I am attaching an image.
Androids security model prevents all apps but the currently active keyboard from modifying the text input.
You have several options:
Register your app as keyboard. Users can switch to and from your keyboard, so it can just include the additional symbols you want to add (and doesn't have to be a full-bleed keyboard).
Copy the symbols to the clipboard. Users have to manually paste them.
Use Xposed to inject your code (requires root). This works around the Android security model.
Is there a way to load an app specific custom dictionary for android keyboard auto-complete to show to the users? My app uses a few hundred words only and any input other than these words is going to be useless.
I want to just load the word list used in my app and override the default android (or swype/swiftkey dictionaries if they are installed), without the hassle of implementing a full blown keyboard.
I have seen a couple of similar questions like here, but nothing that answers my question. Android IME again requires you to write a keyboard.
I think that make SQLite database in your application in your android application and load this data in the autocomplete and when the user entered the text then check that whether the word he entered lies in that database or not. If yes, then keep this in that textbox otherwise make text of that textbox empty i.e "". Hope that this will work for you....