Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
#1

Почему при перезагрузке телефона падают все Service с ошибкой unfortunately has stopped? - Программирование Android

12.03.2015, 19:59. Просмотров 809. Ответов 2
Метки нет (Все метки)

Сколько сервисов и ресиверов было запущено - столько ошибок и выдаст.
Причем такое встречается только на некоторых телефонах.

Если убираю запуск сервисов, ребутаюсь, ошибок нет.

Как правильно обрабатывать такое?

Вот например:
В манифесте.
XML
1
<service android:name=".SyncService" android:enabled="true" />
В файле.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Override
    public IBinder onBind(Intent arg0) {
        return null;
    }
 
 
    @Override
    public void onCreate() {
        super.onCreate();
        ctx = getApplicationContext();
        startTimer();
    }
 
    @Override
    public void onDestroy() {
        Log.e(TAG, "Service Stopped ...");
        stopTimer();
        super.onDestroy();
    }
Добавлено через 44 минуты
хм, методом тыка выяснил, что ноги растут из BroadcastReceiver, который перезапускает все остальные сервисы

класс
Java
1
2
3
4
5
6
7
8
9
10
public class NetReceiver extends BroadcastReceiver {
@Override
    public void onReceive(final Context context, Intent intent) {
        
            boolean inet = Internet.isNetworkAvailable(context);
}
 
 
 
}
манифест
XML
1
2
3
4
5
<receiver android:name=".NetReceiver" android:enabled="true" >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
        </receiver>
Добавлено через 1 час 7 минут
хм, если вывести в лог сообщение из метода onReceive, то оно покажется аж 4 раза. Видимо из-за резкого запуска сервисов что-то начинает глючить
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2015, 19:59     Почему при перезагрузке телефона падают все Service с ошибкой unfortunately has stopped?
Посмотрите здесь:
Как сохранить состояние Service после перезагрузки телефона? Android
Android Почему сервис выполняется с ошибкой (вывод картинки поверх всех окон)
При запуске приложения на эмуляторе: "unfortunately appname has stopped" Android
Как запустить service при входящем вызове? Android
Android Unfortunately has stopped
Android Unfortunately has stopped
unfortunately has stopped android Android
Android Действие при взмахи телефона
Вспышка при блокировке телефона Android
unfortunatly, buttonuse has been stopped Android
Android AndroVM. Unfortunately activity has stopped
Android Unfortunately has stopped, что делать?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
13.03.2015, 08:49     Почему при перезагрузке телефона падают все Service с ошибкой unfortunately has stopped? #2
А это есть?
SQL
1
android:name="android.permission.RECEIVE_BOOT_COMPLETED"
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
13.03.2015, 11:42  [ТС]     Почему при перезагрузке телефона падают все Service с ошибкой unfortunately has stopped? #3
А это есть?
Нет, а зачем?)

Добавлено через 45 минут
Вообще в лог выводит какую-то хрень)
03-13 03:09:33.359 1346-1346/my.package E/WebsocketsService﹕ Service Started ...
03-13 03:09:33.387 1346-1361/my.package D/dalvikvm﹕ GC_FOR_ALLOC freed 210K, 3% free 9099K/9336K, paused 2ms, total 2ms
03-13 03:09:33.395 1346-1361/my.package W/dalvikvm﹕ Invalid indirect reference 0xa5527978 in decodeIndirectRef
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ "pool-1-thread-1" prio=5 tid=12 RUNNABLE
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ | group="main" sCount=0 dsCount=0 obj=0xa54c00d0 self=0xb92d5720
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ | sysTid=1361 nice=0 sched=3/0 cgrp=[fopen-error:2] handle=-1188209784
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ | state=R schedstat=( 15285501 20466337 11 ) utm=1 stm=0 core=0
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ at android.webkit.CookieManagerClassic.nativeGetCookie(Native Method)
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ at android.webkit.CookieManagerClassic.getCookie(CookieManagerClassic.java:91)
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ at android.webkit.CookieManagerClassic.getCookie(CookieManagerClassic.java:78)
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ at my.package.name.Api.request(Api.java:246)
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ at my.package.name.Api.requestGetJSON(Api.java:406)
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ at my.package.name.Api.access$100(Api.java:93)
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ at my.package.name.Api$7.run(Api.java:509)
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ at java.lang.Thread.run(Thread.java:841)
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ at java.lang.Thread.run(Thread.java:841)
03-13 03:09:33.403 1346-1361/my.package I/dalvikvm﹕ [ 03-13 03:09:33.403 1346: 1361 E/dalvikvm ]
VM aborting
03-13 03:09:33.403 1346-1361/my.package A/libc﹕ Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 1361 (pool-1-thread-1)
Добавлено через 11 минут
закомментил у себя строчку с синглтоном Api.java:264
getCookieManager().getCookie(requestUrl);
В логкат перестало выводить, но unfortunately has stopped продолжается

Добавлено через 57 минут
Не знаю решение это или нет, но копая дальше и комментя строчки кода выяснил, что на некоторых устройствах просто напросто нельзя делать http-запросы после включения телефона, если само приложение, а именно ни одна Activity не была запущена.

В унаследованный класс от Application добавил сеттеры и геттеры для активити и везде понавтыкал.
В итоге, после ребута, если Activity == null, то вкл/выкл интернета игнорируем, до тех пор, пока не будет запущено приложение.

Стремно канеш, но ошибок не стало.

Добавлено через 18 минут
Хотя нет, ошибки есть, когда убиваешь приложение вручную, то сервисы продолжают делать хттп-запросы и приложуха крашится
Ответ Создать тему
Опции темы

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