Intereting Posts
Обнаружение кромок с использованием OpenCV (Canny) RuntimeException: ошибка раздувания фрагмента класса Как сохранить состояние входа пользователя в Android? @IntDef аннотирование и возвращаемое значение из кода другого, который нельзя аннотировать или как временно отключить аннотацию от влияния на код? Выполнить Javascript в HTML-файле с помощью Android Android: почему мой OnKeyListener () не вызван? Как поддерживать все различные разрешения продуктов Android Как я могу проверить, подключено ли устройство Android к сети? Android, Как правильно использовать метод readTypedList в классе Parcelable? Как использовать «adb ppp»? Как передать SIP-вызов, используя встроенный SIP-стек андроида Активация выхода активности не работает должным образом на Android 4.0 Android asynctask для отправки обратных вызовов в ui Загрузите компоненты Android SDK для автономной установки Могу ли я обнаружить наличие / отсутствие «светодиодного уведомления» на устройстве Android?

Android Honeycomb: NetworkOnMainThreadException даже при использовании AsyncTask и без строгого режима?

Я запускаю NetworkOnMainThreadException с моим Android 3.0. Поиск решения Я нашел это , но если я это правильно понял, по умолчанию будет установлено, что строгий режим отключен.

Кроме того, весь мой доступ к сети находится в AsyncTask , поэтому я не вижу смысла в этом исключении в любом случае.

Итак, я совершенно отчаянно сейчас, что я должен сделать, чтобы этого не случилось …

С уважением, медуза

Редактировать:

В этой записи в блоге сказано, что AsyncTask должно быть достаточно, но, по крайней мере, разъясняет точку StrictMode.

Решение:

Я отключил StrictMode (возможно, лучше сохранить некоторые настройки, но я не мог беспокоиться …):

 StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); 

После этого я столкнулся с «java.lang.RuntimeException: этот поток запрещает HTTP-запросы», но нашел решение для этого здесь . Я немного смущен, хотя AndroidHttpClient отлично работал, когда я использовал его в своем приложении Android 2.0+ …

Решение, часть 2

Как оказалось, использование AsyncTask было хорошей идеей, но довольно бесполезно, если все было сделано неправильно … Таким образом, не было ничего плохого в реакции строгого режима. Должен был выслушать, э? 😉

Все еще хорошо знать, что он активирован на Honeycomb по умолчанию.

Solutions Collecting From Web of "Android Honeycomb: NetworkOnMainThreadException даже при использовании AsyncTask и без строгого режима?"

StrictMode включен по умолчанию в Honeycomb.

См., Например, ссылку penaltyDeathOnNetwork() . У меня возникла аналогичная проблема.

В Android Honeycomb StrictMode включен, отключите его, добавив код в функцию onCreate () …

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); }