Активность Android в фоновом режиме
У меня есть вопрос в Android. Если мой класс деятельности взаимодействует с внешней библиотекой. Эта библиотека, над которой я работаю, должна выполнять некоторые процессы, когда приложение переходит в фоновый режим или когда оно возвращается на передний план.
Есть ли способ узнать, когда приложение переходит в фоновый режим.
ПРИМЕЧАНИЕ: я не хочу ничего делать в упражнении. Я не хочу отправлять обратный вызов в библиотеку, когда вызывается onPause.
Спасибо
4 ответа
Если бы я понял вашу проблему, вы могли бы использовать Application.registerActivityLifecycleCallbacks и реализовать свои собственные Application.ActivityLifecycleCallbacks.
Что-то вроде:
class myActivityLifecycleHandler implements ActivityLifecycleCallbacks{
// Methods implementation here
}
yourActivity.getApplication().registerActivityLifecycleCallbacks(new myActivityLifecycleHandler())
Вы можете написать в каком-нибудь файле, когда приложение подходит к фону.
Тогда ваша библиотека может время проверять этот файл.
Application.registerActivityLifecycleCallbacks
действительно правильный API, который вы хотите использовать. К сожалению, это действительно API14+, поэтому у вас есть следующая опция:
используйте эту библиотеку для реализации обратного вызова Activitylifecycle. Вам придется расширять свою деятельность в приложении, над которым вы работаете, но тогда нужно что-то предпринять, что бы вам ни понадобилось, кроме поддержки API14.
С помощью этой библиотеки вы можете создать int
считать в обратном вызове. Этот счетчик может увеличиваться и уменьшаться каждый раз onStart()
а также onStop()
обратный вызов для каждого вида деятельности. Количество будет изменяться от 0 до 1 при открытии приложения и от 1 до 0 при закрытии приложения / фона. Когда эти условия соблюдены, вы можете звонить в свою библиотеку.
Помните, что когда вы создаете фоновое изображение для своего приложения, ОС может отключить его в любое время Если у вас есть какое-то количество сетей или что-то длинное, запустите службу, чтобы обработать все это как можно быстрее.
Переопределить метод активности onPause, метод onPause вызывается, когда активность переходит в фоновый режим