Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Skifych
0 / 0 / 1
Регистрация: 23.03.2014
Сообщений: 20
1

StrictMode.ThreadPolicy и ошибка

23.05.2014, 15:51. Просмотров 1008. Ответов 3
Метки нет (Все метки)

Собственно имеется презабавнейшая ситуация. Есть приложение, которое тестилось на Android 2.2 и Android 4.3.
Сегодня была произведена частичная оптимизация кода. После этого 2.2 перестал работать.
Оптимизация свелась к зачистке мусора, да добавлении пары функций. Но валиться приложение не на них
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@TargetApi(Build.VERSION_CODES.GINGERBREAD)
private static IASKpreporateGroup getPGdata(DefaultHttpClient httpClient, int id) {
        String idPG = String.valueOf(id);
        IASKpreporateGroup prepGroup = null;
        
        String secureURLpg = hostAddr + getPGidURL + idPG;
        String nonSecureURL = secureURLpg;
        try {
            URI uri;
                InputStream data = null;
                HttpGet httpGet = new HttpGet(nonSecureURL);
                HttpResponse response;
 
                StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
                StrictMode.setThreadPolicy(policy);
...
Валится как раз на StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
Вот ошибка
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
05-23 11:26:50.082: W/dalvikvm(385): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
05-23 11:26:50.092: E/AndroidRuntime(385): FATAL EXCEPTION: main
05-23 11:26:50.092: E/AndroidRuntime(385): java.lang.IllegalStateException: Could not execute method of the activity
05-23 11:26:50.092: E/AndroidRuntime(385):  at android.view.View$1.onClick(View.java:2072)
05-23 11:26:50.092: E/AndroidRuntime(385):  at android.view.View.performClick(View.java:2408)
05-23 11:26:50.092: E/AndroidRuntime(385):  at android.view.View$PerformClick.run(View.java:8816)
05-23 11:26:50.092: E/AndroidRuntime(385):  at android.os.Handler.handleCallback(Handler.java:587)
05-23 11:26:50.092: E/AndroidRuntime(385):  at android.os.Handler.dispatchMessage(Handler.java:92)
05-23 11:26:50.092: E/AndroidRuntime(385):  at android.os.Looper.loop(Looper.java:123)
05-23 11:26:50.092: E/AndroidRuntime(385):  at android.app.ActivityThread.main(ActivityThread.java:4627)
05-23 11:26:50.092: E/AndroidRuntime(385):  at java.lang.reflect.Method.invokeNative(Native Method)
05-23 11:26:50.092: E/AndroidRuntime(385):  at java.lang.reflect.Method.invoke(Method.java:521)
05-23 11:26:50.092: E/AndroidRuntime(385):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-23 11:26:50.092: E/AndroidRuntime(385):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-23 11:26:50.092: E/AndroidRuntime(385):  at dalvik.system.NativeStart.main(Native Method)
05-23 11:26:50.092: E/AndroidRuntime(385): Caused by: java.lang.reflect.InvocationTargetException
05-23 11:26:50.092: E/AndroidRuntime(385):  at com.itwell.iaskmobileclient.SearchByUniqID.onClickSearch(SearchByUniqID.java:198)
05-23 11:26:50.092: E/AndroidRuntime(385):  at java.lang.reflect.Method.invokeNative(Native Method)
05-23 11:26:50.092: E/AndroidRuntime(385):  at java.lang.reflect.Method.invoke(Method.java:521)
05-23 11:26:50.092: E/AndroidRuntime(385):  at android.view.View$1.onClick(View.java:2067)
05-23 11:26:50.092: E/AndroidRuntime(385):  ... 11 more
05-23 11:26:50.092: E/AndroidRuntime(385): Caused by: java.lang.NoClassDefFoundError: android.os.StrictMode$ThreadPolicy$Builder
05-23 11:26:50.092: E/AndroidRuntime(385):  at com.itwell.iaskmobileclient.IASKuniqID.getPGdata(IASKuniqID.java:693)
05-23 11:26:50.092: E/AndroidRuntime(385):  at com.itwell.iaskmobileclient.IASKuniqID.getAllData(IASKuniqID.java:239)
05-23 11:26:50.092: E/AndroidRuntime(385):  at com.itwell.iaskmobileclient.SearchByUniqID.getDataUniqID(SearchByUniqID.java:277)
05-23 11:26:50.092: E/AndroidRuntime(385):  ... 15 more
При этом под 4.х работает нормально, к серверу коннектиться.
Можете подсказать, что не так с установкой политики?

Добавлено через 5 минут
Знаете, по ходу я лоханулся и тестил в предыдущий наз не на 2.2, а на 2.3
Strict Mode was introduced in API level 9, and you've got 8 set as your minimum in the manifest. These are probably from users running 2.2.x (API level 8).

Добавлено через 1 минуту
http://developer.android.com/referen...eadPolicy.html
StrictMode.ThreadPolicy Added in API level 9
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2014, 15:51
Ответы с готовыми решениями:

StrictMode.ThreadPolicy policy
StrictMode.ThreadPolicy policy = new...

IIS- asp ошибка: HTTP 500.100 - Внутренняя ошибка сервера - ошибка ASP Internet Information Services
Привет! Конфигурация win2000pro sp2, стандартный IIS, IE 5. При попытке...

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи!
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка...

Ошибка при добавлении в файл. Ошибка 101: Ошибка записи на диск (Error 101: Disk write error).
Здравствуйте, возникла проблема такого плана. Нужно произвести добавление...

Django Ошибка доступа (403) Ошибка проверки CSRF. Запрос отклонён
На хостинге разместил сайт и не могу войти в админку, т.к. возникает 403 ошибка...

3
Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
23.05.2014, 15:59 2
лол, оптимизация кода работы с сетью в главном потоке.
вот это гениальное решение проблемы, вместо того что бы правильно написать и вынести работу с сетью в отдельный поток, можно просто разрешить этому коду выполнять в главном потоке.
0
Skifych
0 / 0 / 1
Регистрация: 23.03.2014
Сообщений: 20
23.05.2014, 16:14  [ТС] 3
Подскажите, с примером, как правильно. Я знаю так.

PS:
Java
1
2
3
4
if (Build.VERSION.SDK_INT> Build.VERSION_CODES.FROYO) {
                StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
                StrictMode.setThreadPolicy(policy);
            }
обёртка не работает
0
Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
23.05.2014, 17:19 4
http://startandroid.ru/ru/uroki/vse-...lozhnyj-primer
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2014, 17:19

ASP: Response.Redirect - не работает, ошибка `500 - Внутренняя ошибка сервера'
Всем привет! Есть в ASP-сраничке такой код: Response.Redirect...

Ошибка разбора XML/ Ошибка при вызове метода контекста (Прочитать)
1C 8.2 Документооборот КОРП 1.2 Текст ошибки...

Ошибка SQL запроса , в базе работает, а через IBQuery в Delphi ошибка
В Combobox загружены имена организаций. Нужно выполнить запрос на вывод всех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru