батарейки?
Если с форграундсервисом то да. Годами может работать(кроме мейдзу и сяоми, там только оптимизацию отрубить еще)
Но это я на сколько понял, должно быть видно его, так же как включается аудио, а всё остальное фоном получается. а мне нужно что бы незаметно было
Открою секрет, на это отключение оптимизации ничего не влияет. Прила как падала, так и будет падать
я предварительно у чагпт спросил. вот что он ответил: Foreground Service: If your app needs to perform long-running operations, even when the user isn't directly interacting with the app, you can use a foreground service. This is a type of service that's used to perform operations that are noticeable to the user. For example, audio apps use foreground services to play music. Foreground services must display a notification that cannot be dismissed unless the service is either stopped or removed from the foreground. Background Service: Background services are used for operations that don't need user interaction and aren't noticeable. However, as of Android 8.0 (API level 26), these services can no longer run in the background unless the app itself is in the foreground. WorkManager: For deferrable and guaranteed execution of background work, you can use WorkManager. WorkManager is an Android library that runs deferrable background work when the work's constraints are satisfied. WorkManager is intended for tasks that are required to run even if the app exits or the device restarts. Use STICKY Service: In Android, there are two types of services (STICKY and NON-STICKY). You can make your service "sticky" so that the system tries to recreate the service after it's killed.
Пробовали все. Start sticky перестаёт срабатывать на третий раз, workmanager аналогично
а, как же тогда быть то?
Бросить идею) Мы 2 года пытались адблок сделать. Всё зависит от твоей целевой аудитории. На своих телефонах тестовых у нас без уведомления жило месяцами приложение. Но прикол в том, что пользователи используют свой телефон, и он постоянно нагружен. В итоге на практике школьник открывает пубг поиграть, андроид грохает вообще все бэкграунд процессы, твой start sticky срабатывает и тут же система опять убивает твой процесс. На третий раз уже start sticky не срабатывает
Вот моя либа все это пытается сделать рестартуя приложение в фоне без форграунда https://github.com/psa98/Dont_Kill_My_App Работать работает при условии что приложение хотя бы раз в неделю юзером запускается.
То есть если я при помощи WorkManager копирую "тяжёлую" (от 1Гбайт) папку во внутреннее хранилище, то в любой момент Android может "убить" моё приложение?
Не знаю, этого не проверял. Я делал запуск сервиса через workmanager
Для этого есть downloadmanager eсли качать с сети
Хм, интересно, а гугл плей такие хаки пропускает? У меня на проекте сочетание банального фореграунда, форса отключения оптимизации батареи для папки + setExactAndAllowWhileIdle норм работает, без хаков в виде проигрыша аудио и бродкастов на все что можно.
а если просто пуш уведомление какое нибудь отправлять раз в неделю что бы пользователь его скипнул, это будет считаться запуском?
Это рестартанет приложение в фоне если правильно сделать. Один раз. Если его скипнут даже. Кажется если всегда скипать то в итоге перестанет ос их принимать и выводить
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
Обсуждают сегодня