2013-04-02 4 views
1

У меня вопрос в android. Если мой класс активности взаимодействует с внешней библиотекой. Эта библиотека, над которой я работаю, должна выполнять некоторые процессы, когда приложение переходит в фоновый режим или когда оно возвращается на передний план.Активность Android в фоновом режиме

Есть ли способ узнать, когда приложение входит в фоновый режим.

ПРИМЕЧАНИЕ: Я не хочу ничего делать в этой деятельности. Я не хочу отправлять обратный вызов в библиотеку при вызове onPause.

Благодаря

ответ

0

переопределение OnPause метод деятельности, OnPause вызывается, когда деятельность будет Backgroud

+1

ой, пожалуйста, прочитайте записку – Developer

3

Если я понял вашу проблему, вы можете использовать Application.registerActivityLifecycleCallbacks и реализовать свой собственный Application.ActivityLifecycleCallbacks.

Что-то вроде:

class myActivityLifecycleHandler implements ActivityLifecycleCallbacks{ 
    // Methods implementation here 
} 

yourActivity.getApplication().registerActivityLifecycleCallbacks(new myActivityLifecycleHandler()) 
+1

Большое спасибо, но это для апи 14 и выше я работаю в более низких версиях :) – Developer

+1

У меня такая же проблема, и я искренне считаю, что это единственное решение, которое не связано с написание кода в onStart(), onStop и т. д. Решение может делать что-то, как показано здесь (в непринятых ответах): http://stackoverflow.com/questions/3183932/androidhow-to-check -f-application-is-running-in-background .. но я думаю, что это возможно только в том случае, если вам не нужно постоянно проверять –

+0

Спасибо, но, к сожалению, в этом случае я должен постоянно проверять .. потому что я хочу делать некоторые события, как только активность отправляется на задний план :) – Developer

0

Вы можете написать в какой-то файл, когда приложение подходит к фону.

Тогда ваша библиотека может время для проверки этого файла.

0

Application.registerActivityLifecycleCallbacks действительно правильный api, который вы хотите использовать. К сожалению, это действительно API14 +, поэтому у вас есть следующий вариант:

this library для реализации обратного вызова рабочего цикла. Вам нужно будет расширить свою деятельность в приложении, над которым вы работаете, но что-то нужно сделать, чтобы независимо от того, что вам нужно, чем поддержка API14.

С помощью этой библиотеки вы можете создать счетчик int в обратном вызове. Этот счет может быть увеличен и уменьшен каждые onStart() и onStop() обратный вызов для каждого вида деятельности. Счет будет идти от 0 -> 1 при открытии приложения, а 1 -> 0 в приложении закрыть/фон. Когда эти условия будут выполнены, вы можете звонить в свою библиотеку.

Помните, что когда вы используете свое приложение, ОС может убить его в любое время. Если у вас есть какое-то количество сетей или что-то еще, запустите службу, чтобы обрабатывать все это как можно быстрее.

Смежные вопросы