It can very well depend on what locale your system is in. If your system is in US, it will default to 12h instead of 24h. i.e.
long millis = new Date().getTime();
String uk = SimpleDateFormat
.getTimeInstance(SimpleDateFormat.MEDIUM, Locale.UK)
.format(millis);
String us = SimpleDateFormat
.getTimeInstance(SimpleDateFormat.MEDIUM, Locale.US)
.format(millis);
System.out.println("UK: " + uk);
System.out.println("US: " + us);
will give you
UK: 16:19:49
US: 4:19:49 PM
So, perhaps you can grab the system locale and specify it in your formatter.
However, if you always want it in 24h format, then I suggest you explicitly specify it in your formatter.
UPDATE: Since you wanted to grab the time format based on the device specification, you could use the system's Time_12_24 value and determine your format from the resulting value.