Android 如何正确统计页面停留时长
生活随笔
收集整理的這篇文章主要介紹了
Android 如何正确统计页面停留时长
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/112546517
本文出自【趙彥軍的博客】
在Android中經常有統計頁面停留時長的需求,先看看以前的實現代碼:
class MainActivity2 : AppCompatActivity() {var startTime:Long = 0override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main2)//獲取頁面開始時間startTime = System.currentTimeMillis()}override fun onPause() {super.onPause()//獲取頁面結束時間var endTime = System.currentTimeMillis()//計算停留時長var stayTime = endTime - startTime} }System.currentTimeMillis() 是獲取當前系統時間戳,如果用戶自行修改系統時間,那么這個時間戳就會改變,所以 System.currentTimeMillis() 獲取的時間是不可靠的。
那腫么辦?
使用 SystemClock.elapsedRealtime() , 此方法可以獲取 Android 設備的開機時長,包括睡眠時間,也就是說調用此方法可以獲取設備開機時到調用此方法時的完整時間。
注意:此方法是與時間戳無關的,不管設備系統在這個時間段是否更新校驗時間。
使用 SystemClock.elapsedRealtime() 后的完整代碼如下:
package com.zhaoyanjunimport android.os.Bundle import android.os.SystemClock import androidx.appcompat.app.AppCompatActivityclass MainActivity2 : AppCompatActivity() {var startTime:Long = 0override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main2)//獲取頁面開始時間startTime = SystemClock.elapsedRealtime()}override fun onPause() {super.onPause()//獲取頁面結束時間var endTime = SystemClock.elapsedRealtime()//計算停留時長var stayTime = endTime - startTime} }總結
以上是生活随笔為你收集整理的Android 如何正确统计页面停留时长的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 打造异常崩溃捕获工具
- 下一篇: Androidx ViewPager+F