私のAndroid携帯で各活動が生きていた前景時間を取得しようとしています。getSystemService(Context.USAGE_STATS_SERVICE)を実行しているときに重複しているPackageNames。
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public List<UsageStats> getUsageStats() {
UsageStatsManager mUsageStatsManager = (UsageStatsManager) getActivity()
.getSystemService(Context.USAGE_STATS_SERVICE);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
List<UsageStats> queryUsageStats = mUsageStatsManager
.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, cal.getTimeInMillis(),
System.currentTimeMillis());
return queryUsageStats;
}
を次のように私は実行コードがあり、これはprint文
for(UsageStats usageStats:getUsageStats()){
Log.i("Usage Stats",usageStats.toString()+"\t"+usageStats.getPackageName()+"\t"+usageStats.getTotalTimeInForeground());
}
されており、次のように私が得る結果は。
com.whatsapp 2413684
com.google.android.googlequicksearchbox 2344707
com.google.android.youtube 1786804
com.google.android.googlequicksearchbox 1683449
com.google.android.googlequicksearchbox 1577473
com.whatsapp 1040572
whatsappとgoogleの検索ボックスには2回あり、フォアグランドタイムが異なるため、
なぜ私はそれを2回取得しているのか誰に教えてもらえますか?また、ForeGroundにアクティビティがあった時間だけを取得する方法があります。