现在我开发了android应用程序,我需要活动运行时间!
从onCreate()
到onPause()
或onStop()
。
我知道要使用System.currentTimeMillis
!
但我想要API或SDK功能来做到这一点。
可能是当任务被改为onPause()或onStop()时,android有活动运行时间的信息!(或转发活动)。
所以我使用一个代码或函数,我会测量活动的运行时间!(在屏幕上保持活动!)
那么API或函数测量活动的运行时间是什么?
答案 0 :(得分:0)
您可以使用Google分析或任何第三方分析(例如:Flurry,InMobi等)工具来获取活动的运行时间。使用此功能,您可以跟踪用户的活动状态,并且主要使用应用程序内部的功能。
对于Google Analytics集成,请参阅以下链接。
http://developer.android.com/distribute/analyze/start.html
有关整合flurry分析的信息,请参阅以下链接。
https://developer.yahoo.com/flurry/docs/analytics/gettingstarted/android/
Google Analytics和Flurry Analytics提供事件跟踪功能,以跟踪活动的运行时间和使用情况。
答案 1 :(得分:0)
您可以在下面执行以下操作:通过计算暂停和恢复时间之间的差异来计算总前景时间。
public class MainActivity extends Activity {
long pauseTime = 0, resumeTime = 0;
SharedPreferences preference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
preference = getSharedPreferences("TimeWrap", Context.MODE_PRIVATE);
}
@Override
protected void onPause() {
super.onPause();
pauseTime = System.currentTimeMillis();
SharedPreferences.Editor editor = preference.edit();
long totalForgroundTime = preference.getLong("TotalForegroundTime", 0) + (pauseTime-resumeTime);
editor.putLong("TotalForegroundTime", totalForgroundTime);
editor.commit();
((TextView) findViewById(R.id.textView1)).setText(
String.valueOf(TimeUnit.SECONDS.convert(totalForgroundTime, TimeUnit.MILLISECONDS)) + " Seconds");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
//update foreground time
resumeTime = System.currentTimeMillis();
}
}