This is a migrated thread and some comments may be shown as answers.

Number 9 key doesn't work in some Android phones

17 Answers 68 Views
Report a bug
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Tony Vainikos
Top achievements
Rank 1
Tony Vainikos asked on 16 Nov 2012, 04:28 PM
During testing of my build on Android devices, it was discovered that the number 9 key is ignored when typing in a text box. This seems to happen on our testing of 2.2.X and 2.3.5 versions. I did find while searching the Internet a "fix" for this issue, but I'm really not sure with the limited access to the SDK how to implement it.

Sources indicated that I need to override the setNavDump by using the following, but I'm not sure where to enter it, or if I have the accessibility to even enter it.

@Override
public void init() {
    super.init();      
    this.appView.getSettings().setNavDump(false);
}

Here are some resources I found that discuss this issue:
http://stackoverflow.com/questions/9781657/phonegap-for-android-does-not-accept-the-9-key
http://stackoverflow.com/questions/9861336/numeric-9-on-android-2-x

17 Answers, 1 is accepted

Sort by
0
Tony Vainikos
Top achievements
Rank 1
answered on 19 Nov 2012, 02:54 PM
Update: I also posted this issue on Google Groups "phonegap" group and this is what I received back from Simon Mac Donald...

"We changed the setNavDump call so it is only executed when the OS is Gingerbread or less and the device manufacturer is HTC. So you probably won't need to worry about making the code change yourself."

... So does this mean the next time I do an update this issue will be addressed also in Icenium, or do I need to do and new build and have my users that are testing -- do a new installation... or do YOU guys need to do something in addition before all this can be implemented?
0
Evgeni "Zammy" Petrov
Telerik team
answered on 21 Nov 2012, 04:46 PM
Hello,

 Seems that this is done to fix some bug with console.log and HTC devices : 
http://callback.markmail.org/search/?q=+list%3Aorg.apache.incubator.callback-dev+setNavDump#query:%20list%3Aorg.apache.incubator.callback-dev%20setNavDump+page:1+mid:psiqubjmedbx5rm2+state:results

On the other hand it seems that it has been removed for 2.3.0 Cordova : https://issues.apache.org/jira/browse/CB-1845?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497334#comment-13497334

After some research we decided to implement the fix you suggested for our Cordova 2.2.0 support. We will have the option to upgrade existing project in our next release.

Greetings,
Evgeni "Zammy" Petrov
the Telerik team

Share feedback and vote for features on our Feedback Portal.
Want some Kendo UI online training - head over to Pluralsight.
0
Tony Vainikos
Top achievements
Rank 1
answered on 24 Dec 2012, 07:43 PM
Was this fix implemented in your latest release?
0
Kristian D. Dimitrov
Telerik team
answered on 27 Dec 2012, 06:36 PM
Hi Lisa,

 Thanks for your interest in Icenium. This fix was implemented in our v1-1 release. If you are interested in what else was included you can read our V1-1 Release Notes.

All the best,
kdimitrov
the Telerik team

Share feedback and vote for features on our Feedback Portal.
Want some Kendo UI online training - head over to Pluralsight.
0
Tony Vainikos
Top achievements
Rank 1
answered on 27 Dec 2012, 07:33 PM
To take advantage of this, do I have to change my properties to use the Cordova 2.2.0 version? Do I need to reissue .apk files to my users that are testing on their Androids or when they do an update it gets modified on their device? I had some issues with this yesterday.
0
Yavor Georgiev
Telerik team
answered on 27 Dec 2012, 07:48 PM
Hello Lisa,

 You only need to build and distribute new APKs to your users in order to take advantage of the fix, you can keep using Cordova 2.0.

Greetings,
Yavor Georgiev
the Telerik team

Share feedback and vote for features on our Feedback Portal.
Want some Kendo UI online training - head over to Pluralsight.
0
Srinivas
Top achievements
Rank 1
answered on 12 Jun 2013, 04:45 PM
I am having same problem with cordova 2.6.0 build. I tried below workaround suggested in some forums
<preference name="android-minSdkVersion" value="8" /> in config.xml but could get any luck to make it work.
So i tried to add the workaround suggested in this thread but compilation itself is failing at the line
this.appView.getSettings().setNavDump(false);  It looks like setNavDump(false) API is no more present in
android-17.jar.  Is there any other workaround that i can try?  Please suggest me.
Thanks in advance. 
0
Steve
Telerik team
answered on 13 Jun 2013, 07:04 AM
Hi Srinivas,

Icenium currently supports Cordova 2.4, so you could not have build an Icenium project with that version. If you're using a 3rd party service to build your Cordova app, you should contact their support for problems you've encountered with it.

Regards,
Steve
Telerik

Looking for tips & tricks directly from the Icenium team? Check out our blog!
Missed our first webinar, watch it here.
Share feedback and vote for features on our Feedback Portal.
0
Stefan Dobrev
Telerik team
answered on 13 Jun 2013, 08:39 AM
Hi Srinivas,

Cordova code base already has this code inplace for some time. In their latest version they are calling the code with reflection, because as you have observed the following method has been deprecated and removed in API 17. Here is the latest Cordova code that you can use to do the same in your case.

Hope this helps.

-sdobrev 


Looking for tips & tricks directly from the Icenium team? Check out our blog!
Missed our first webinar, watch it here.
Share feedback and vote for features on our Feedback Portal.
0
Srinivas
Top achievements
Rank 1
answered on 13 Jun 2013, 01:12 PM
Hi Steve & Dobrev,
Thanks your very much for the reply, it helped.  After upgrading to cordova 2.8.1 the issue got resolve.
I am extremely sorry for cross posting this, now i understood the difference between icenium and cordova.

Thanks,
Srinivas 
0
Jordan
Top achievements
Rank 1
answered on 17 Jul 2013, 07:10 PM
I'm having the same issue in my project that uses Cordova 2.4.0. Number 9 doesn't work and number 7 crashes the app in production (7 works fine in Ion testing).

I tried the <preference name="android-minSdkVersion" value="8" /> suggestion in my config.xml file with no luck. I'm not sure if Stefan's link to the CordovaWebView.java file applies in my case since I'm using Icenium. If it does, I have no idea where that file resides within my project.

It looks like the 1.1 release fixed this issue for Cordova 2.0.0 build. Did later releases break the fix? Is there something else I have to do that I'm missing?

Using HTC Desire (Android 2.3.5)
0
Steve
Telerik team
answered on 24 Jul 2013, 02:24 PM
Hello Jordan,

According to this Cordova code, the problem is fixed for 2.x devices, so it should be working (it is on our end, different device but Android 2.x). The "bad" news is that Cordova have dropped the support for Android 2.x in v.2.8, so you would have to either stay on old version of Cordova or consider upgrading your device or its OS at least.

The fix in Icenium 1.1 was required as Cordova still had this issue. Since v.2.4 of Cordova, they have addressed the problem in their code, so our fix was redundant and removed.

Regards,
Steve
Telerik

Do you enjoy Icenium? Vote for it as your favorite new product here (use short code H048S).
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
0
Jordan
Top achievements
Rank 1
answered on 25 Jul 2013, 10:14 PM
In case anyone finds this later, the current inputs don't work on the HTC Desire 4G (Android 2.3.5) using Cordova 2.4 unless the following CSS code is added. The code is a little flakey but it works most of the time. I was still able to crash the app by typing 7 but it happens rarely. Without this code, 9 and 7 never work on my device.

.km-on-android.km-2 input, .km-on-android.km-2 textarea
{
    -webkit-user-modify: inherit;
}

.km-root .km-on-android .km-list > li
{
    bottom: auto;
    -webkit-transform: none;
    -moz-transform: none;
}
0
Dean
Top achievements
Rank 1
answered on 13 Aug 2013, 05:45 AM
We're using Cordova 2.7 in Icenium and our testers are experiencing this number 9 problem on a HTC Desire A8183 running Android 2.2.

Perhaps you need to re-apply your fix despite the apparent fix in Cordova 2.4? 

By the way, I tried Jordan's css patch without success.
0
Steve
Telerik team
answered on 14 Aug 2013, 03:58 PM
Hi Dean,

This problem is inherent to HTC devices with Android 2.x and we do not have such device to test with, but given the Cordova code already referenced, it should be fixed. We cannot reapply our fix as it would have to be applied to Cordova 2.7 which we no longer develop on.

As we're following tightly the Cordova development and migrate quickly to their new versions, we would soon (next Icenium version) migrate to Cordova 3.0 where Android 2.x support has been dropped. As the issue is too localized (HTC device with Android 2.x), the OS is now pretty much outdated, and we no longer develop on Cordova version that supports Android 2.x there is nothing we can do.

Regards,
Steve
Telerik

Do you enjoy Icenium? Vote for it as your favorite new product here (use short code H048S).
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
0
Dean
Top achievements
Rank 1
answered on 14 Aug 2013, 10:18 PM
Thanks Steve, I understand. However, I do find it surprising that support for Android 2.x is being dropped when it accounts for 36.8% of android users according to the Android Developers website (http://developer.android.com/about/dashboards/index.html)
0
Steve
Telerik team
answered on 15 Aug 2013, 07:00 AM
Hi Dean,

Cordova is an open source framework under the Apache License and we're not in any way involved in their decisions. Clients that require Android 2.x support would have to target Cordova 2.7 or earlier. In this line of thoughts, did you try changing your Cordova version to 2.2 and see whether the problem is there?

Regards,
Steve
Telerik

Do you enjoy Icenium? Vote for it as your favorite new product here (use short code H048S).
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
Tags
Report a bug
Asked by
Tony Vainikos
Top achievements
Rank 1
Answers by
Tony Vainikos
Top achievements
Rank 1
Evgeni "Zammy" Petrov
Telerik team
Kristian D. Dimitrov
Telerik team
Yavor Georgiev
Telerik team
Srinivas
Top achievements
Rank 1
Steve
Telerik team
Stefan Dobrev
Telerik team
Jordan
Top achievements
Rank 1
Dean
Top achievements
Rank 1
Share this question
or