Активность 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 вызывается, когда активность переходит в фоновый режим

Другие вопросы по тегам