Я заметил, что когда я заканчиваю свое приложение окончательно, метод runInBackGround
класса MultiplyTask
перестает работать. Он работает, когда активность находится в фазе STOP
или PAUSE
, но когда я закрываю свое приложение, метод заканчивается (это цикл, созданный с циклом while(true) {...}
). Как может, например, отправлять уведомления Whatsapp, хотя он закрыт? Я хочу создать подобную вещь. Благодаря!Android: Запуск приложения, когда он окончательно закрыт
ответ
Когда приложение будет закрыто, весь код перестанет работать. Если вы хотите выполнить пока приложение открыто и продолжить выполнение кода, пока приложение закрыто, вы хотите посмотреть на using a Service.
Ознакомьтесь с документацией Сервиса, и мы надеемся, это то, что вы ищете , Службы также убиваются, когда ваше приложение закрыто, но с использованием возвращаемого значения START_STICKY вы можете убедиться, что ваша служба перезапускается после завершения.
ИЗМЕНИТЬ С Дополнительная информация:
<service
android:name="MyService" />
Добавьте выше вашего AndroidManifest.xml
public class MyService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// This is where you would place your code that you want in the background
// Putting your while loop here will make sure it runs when the app is closed
return Service.START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
//TODO for communication return IBinder implementation
return null;
}
}
Создайте новый класс с указанным кодом.
Intent i= new Intent(context, MyService.class);
startService(i);
Вызов этого кода из вашей панели запуска. Запуск службы при запуске приложения.
Надеюсь, это поможет!
Asynctask идеально подходит для короткой работы, которые необходимо выполнять в фоновом режиме. Обычно Asyntask реализуется как подкласс класса активности, который уничтожается, когда приложение закрывается. Также он взаимодействует с потоком пользовательского интерфейса в некоторых точках ... так что ему нужно, чтобы активность была в памяти ... Для продолжительной работы Сервис лучше. Некоторые приложения уведомляют пользователя, даже если они не запущены. Фактически, у них есть одна или несколько служб, работающих в фоновом режиме. Вы можете увидеть их в меню настроек телефона-> приложений. Исследование this для получения дополнительной информации об услугах.
- 1. VBA Запуск, когда Excel закрыт
- 2. Как использовать NamedTemporaryFile (и когда он закрыт?)
- 3. Может ли node.js обнаруживать, когда он закрыт?
- 4. Когда выпущенные объекты окончательно уничтожены?
- 5. Запуск приложения в фоновом режиме - но он закрыт после короткого перекода
- 6. Запуск приложения Android SampleSyncAdapter
- 7. Android Download Manager окончательно завершена
- 8. (android) Запуск приложения lockscreen?
- 9. Запуск приложения для Android
- 10. Запуск приложения iPhone автоматически, когда он получает удаленное уведомление
- 11. Запуск приложения, когда он трясется с помощью трансляции
- 12. Запуск приложения, когда IBeacon обнаружен
- 13. Запуск приложения android
- 14. Сбой приложения для Android, когда он не был запущен
- 15. Условный запуск приложения Android
- 16. Запуск внешнего приложения android
- 17. Запуск приложения для Android
- 18. запуск приложения для Android
- 19. запуск приложения в android ..?
- 20. Запуск приложения в android
- 21. Android - Создание Запуск приложения
- 22. Запуск приложения (Android)
- 23. Определение, когда сокет был закрыт на Android
- 24. Запуск другого приложения из Android Application и «Запуск приложения»
- 25. Как уничтожить GWT Bootstrap Модальный, когда он закрыт
- 26. Запуск приложения, только если он не работает
- 27. Знать, когда NetworkStream закрыт
- 28. Когда файл FileDescriptor закрыт?
- 29. Запуск приложения Android от эмулятора
- 30. Как узнать, когда фрагмент Android закрыт?
Как я могу использовать этот START_STICKY? – Tosch
@Tosch Посмотреть мой отредактированный пост –
Я решил свою проблему, спасибо! – Tosch