Intereting Posts
Как проверить, является ли вид видимым для пользователя Использование активов в робоэлектрических тестах Не удалось удалить подписку в приложении из моей консоли разработчика Google Play Реализация методов жизненного цикла Android может вызвать реализацию суперкласса после выполнения какой-либо работы? Android TableRow растягивается вертикально, чтобы заполнить экран Как включить выделенные меню по умолчанию в веб-обозревателе Android? Android Studio: отказ Checkbox не установлен, когда я просматриваю список на Android Сохранение на SD-карту в виде текстового файла Как работать с большим объектом JSON на Android Android OnBackPressed finish ()? Как передать аргументы функции транзакции базы данных PhoneGap Почему мягкая клавиатура скрыта при возобновлении? Как установить выходное изображение, используйте com.android.camera.action.CROP Каковы значения по умолчанию для соединений и тайм-аутов сокетов в DefaultHttpClient на 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); }