Как ответили на этот дублирующий вопрос ...
Это было тяжело для меня!
Как сказал Марк, вы должны поместить некоторые параметры в URL, чтобы он работал на устройстве. Вы не должны делать это вручную, но вместо этого используйте ConnectionFactory.
Как вы понимаете, это только заставит это работать, но это не так!
Реальная проблема в том, что не URL был изменен , потому что он имеет: interface = wifi; deviceside = true (в моем случае). В зависимости от того, какой веб-сервер принимает ваш запрос, это может привести к нарушению кода.
Решение, которое я пробовал и которое работает, состоит в том, чтобы попытаться использовать поддельный параметр, такой как
&foo=true -> &foo=true;deviceside=true
Это будет стандартный параметр для веб-сервера, но ваше устройство будет использовать его для управления вашим соединением.
На симуляторе это работает без этого дополнительного кода, потому что за ним есть сервер BIS для вас. На устройстве (как в моем случае) нет, потому что я использую девелоперское устройство незарегистрированное и без SIM (просто wifi).
Другой момент заключается в том, что класс HttpConnection не обрабатывает HTTP 302 Redirect, и если он у вас есть, вы должны обрабатывать его вручную.