如何查找我的应用程序对用户可见的时间长度?

时间:2013-12-26 13:45:03

标签: android

我需要查看我的应用程序在屏幕上可见多长时间 但我不想计算应用程序在后台运行的时间 我尝试了生命周期方法,但它对我不起作用 有没有有效的方法来查找应用程序在屏幕上可见多长时间?

2 个答案:

答案 0 :(得分:4)

也许你可以尝试这样的事情:

onResume() - >开始测量时间,当用户启动您的应用以使其可见时,并停止在 onPause() - >中测量它暂停并离开屏幕或由用户自己停止。


此外,您可以将其合并到系统中以检查屏幕是否实际打开(如果这更适合您),请检查以下链接.... 但当您的应用在后台时,onPause方法已被调用,因此它是一种非常有效的方式imo。

How can I tell if the screen is on in android?

From an Android service, how to determine whether screen WAS on or off

How to detect whether screen is on or off if API level is 4?

答案 1 :(得分:1)

掌握活动进入前景的时间以及进入后台的时间。计算开始和结束时间的差异,您将拥有用户花费的持续时间。

示例:

@Override
protected void onStart() {
    // TODO Auto-generated method stub
    super.onStart();
    start = 0;
    start = System.currentTimeMillis();
}
@Override
protected void onStop() {
    // TODO Auto-generated method stub
    super.onStop();

    end = System.currentTimeMillis();
    Log.w("activity time ", "" + ((end - start))*0.001); //convert to seconds
}

P.S。全局声明long start, end;