I was having the issue on a nexus 7 with android 4.4.2 where the keyboard was covering up half the screen which was a problem because my input field was in the footer.
The problem I found is that when config.xml has the preference:
<preference name="fullscreen" value="false" />the ionic code doesn’t sense a height change when the keyboard opens. If you just make fullscreen false, then the keyboard will open flicker and then close.
Looking into the ionic.js you find a function called resize() in the androidKeyboardFix function.that has the footer hide
It seems that the function opens the keyboard, senses the negative height change, then hides the footer, which causes it so sense a positive height gain which it thinks is a close of the keyboard so it then goes back to the fullscreen state.
The solution that worked for me was to set the following:
<preference name="fullscreen" value="false" />
I also commented out in ionic.css
I don’t think it matters (but lots of posts played with the viewport so I’ll put it here), but my viewport in index.html was set to
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
I’ll do more testing on android and ios, but this worked for the nexus 7. I’d like to know if there are any issues with changing fullscreen to false.
I’m getting some flickering now though.