2013-10-13 1 views
0

Я пытаюсь реализовать журнал вызовов в своем приложении для Android, который читает журнал системных вызовов и показывает в моем приложении. Там есть кнопка, чтобы позвонить кому-то в мое приложение с кодом:Моя активность (Android) кажется не выполняющей onPause()/onResume при возврате из другой активности

startActivity(new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+dataList.get(arg2).get("number")))); 

При нажатии на кнопку, мое приложение будет терять фокус экрана и он будет прыгать на страницу вызова. Когда вызов завершится, я хочу, чтобы журнал вызовов в моем приложении мог быть обновлен, я имею в виду, что вызов сейчас должен быть добавлен в мой список. Поэтому я добавляю обновляющие функции в onResume() моей деятельности.

Но это странно получилось, что список не обновился, когда вызов заканчивается (экран автоматически возвращается к моей предыдущей странице моего приложения, скажем, в списке).

Итак, вот мой вопрос, не должна быть функция onResume() вызываться, когда вызов заканчивается? Между тем, onPause() также не вызывался при переходе на вызывающую страницу. Я почти уверен, что они не были вызваны, потому что я добавляю system.out.println() в начале onResume() и onPause(), и я ничего не видел.

Может ли здесь помочь мне с этой проблемой? Спасибо за все ваше чтение и помощь.

+0

Вы уверены, что используете правильную партию кодов для печати? [См. Этот ответ] (http://stackoverflow.com/questions/2220547/why-doesnt-system-out-println-work-in-android), если вы не уверены. Я предпочитаю точки останова большую часть времени, чтобы точно увидеть, где/когда мой код вызывается. – codeMagic

+0

Привет, спасибо за помощь, я смотрел на правильный логарифм. Майк помог мне внизу. Во всяком случае, спасибо за ответ! –

ответ

1

Убедитесь, что вы правильно переопределили методы onPause() и onResume(). (нет параметров, void тип возврата)

Вам также необходимо будет позвонить в метод super в каждом случае. То, что вы ищете:

@Override 
public void onPause() 
{ 
    super.onPause(); 
    // your code here 
} 

@Override 
public void onResume() 
{ 
    super.onResume(); 
    // your code here 
} 
+0

Спасибо Майку, что так небрежно ошибка. Но не могли бы вы помочь мне в этом следующем вопросе: я просто нашел, что onResume() будет вызываться, хотя вы впервые запускаете приложение. Это верно? Благодаря! –

+0

@YuchunCui это правильно. Посмотрите на [Жизненный цикл активности] (http://developer.android.com/reference/android/app/Activity.html). 'onResume()' вызывается непосредственно после 'onCreate()' при первом создании 'Activity'. – codeMagic

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

  • Нет связанных вопросов^_^