Determining Whether the Keyboard Cache Is Disabled for Text Input Fields
In the layout definition of an activity, you can define
TextViews that have XML attributes. If the XML attribute
android:inputType is given the value
textNoSuggestions, the keyboard cache will not be shown when the input field is selected. The user will have to type everything manually.
<EditText android:id="@+id/KeyBoardCache" android:inputType="textNoSuggestions" />
The code for all input fields that take sensitive information should include this XML attribute to disable the keyboard suggestions.
Alternatively, the developer can use the following constants:
Check the application code to verify that none of the input types are being overwritten. For example, by doing
findViewById(R.id.KeyBoardCache).setInputType(InputType.TYPE_CLASS_TEXT) the input type of the input field
KeyBoardCache is set to
text reenabling the keyboard cache.
Finally, check the minimum required SDK version in the Android Manifest (
android:minSdkVersion) since it must support the used constants (for example, Android SDK version 11 is required for
textWebPassword). Otherwise, the compiled app would not honor the used input type constants allowing keyboard caching.
Start the app and click in the input fields that take sensitive data. If strings are suggested, the keyboard cache has not been disabled for these fields.