1

OnePlus3 Только нуга (до сих пор): TelephonyManager getNetworkType() иногда (!?) Возвращает значение 19, которое не определено в документе, в зависимости от ситуации он должен быть NETWORK_TYPE_LTE = 13, поскольку в строке состояния отображается 4G +. Очевидно, пользователи снова понижают мое приложение, вместо того, чтобы обвинять OnePlus.OnePlus3 Nougat: TelephonyManager getNetworkType() возвращающее значение 19 вместо 13

Любая идея Что происходит с OnePlus3? Почему панель состояния работает нормально? Это должно быть официальным? Я добавлю это 19 как жестко закодированное значение для LTE, но что, если оно изменится в будущем ... Мое приложение будет ошибочным для реального. И в целом, как я могу избежать, чтобы пользователи обвиняли меня во всех ошибках Android/Manufacturer, которые представлены в каждой новой версии?

Док: https://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkType()

Система данных: VERSION.RELEASE {7,0}, {VERSION.INCREMENTAL 97}, VERSION.SDK {24}, {ПЛАТА QC_Reference_Phone}, {ТАВРА OnePlus}, {УСТРОЙСТВО OnePlus3 }, FINGERPRINT {OnePlus/OnePlus3/OnePlus3: 7.0/NRD90M/12311011: ключи пользователя/release}, HOST {ubuntu-23}, ID {NRD90M}

+0

«Почему панель состояния работает нормально?» - предположительно, они изменили его, чтобы соответствовать. «Это должно быть официальным?» - это зависит от вашего определения «официальный». Предположительно, OnePlus считает это официальным, так как это то, что они отправляют. «Как я могу избежать того, чтобы пользователи обвиняли меня во всех ошибках Android/Manufacturer, которые представлены в каждой новой версии?» - не отправляйте приложения пользователям, которые могут бросить вину, особенно приложения, которые особенно чувствительны к изменениям в оборудовании. Или, живите с жалобами, фиксируя их там, где можете. – CommonsWare

+0

Thx! Я думаю, вы, к сожалению, правы, это те ответы, на которые я не хотел верить. Я поражен тем, как они изменят свой интерфейс, вместо того, чтобы фиксировать происхождение ...: '( – wire67

+0

В идеале набор совместимости Google будет охватывать это По-видимому, это не так. – CommonsWare

ответ

0

4G + - новый LTE-Advanced (LTE-A) и не существует как константа в классе TelephonyManager.

4G - LTE (NETWORK_TYPE_LTE = 13).

Я надеюсь, что Google обновит свои константы или даст нам значение для 4G + (19?).