Android API UsageStats getLastTimeUsed不正确?
我正在尝试阅读最近在android中引入的USAGestsManager类上次使用应用程序的时间 但有一个问题。它为大多数应用程序提供了合适的结果。但对于某些用于调用的应用程序:Android API UsageStats getLastTimeUsed不正确?,android,usage-statistics,usagestatsmanager,Android,Usage Statistics,Usagestatsmanager,我正在尝试阅读最近在android中引入的USAGestsManager类上次使用应用程序的时间 但有一个问题。它为大多数应用程序提供了合适的结果。但对于某些用于调用的应用程序:appUsageStats.get(appInformation.packageName).getLastTimeUsed()它返回一个不正确的4位数毫秒 附件是一个屏幕截图的评估窗口显示8738为真正的来电应用程序。这是一个错误还是我做错了什么 注意:作为观察,当mLastTimeSystemUsed与mLastTi
appUsageStats.get(appInformation.packageName).getLastTimeUsed()
它返回一个不正确的4位数毫秒
附件是一个屏幕截图的评估窗口显示8738为真正的来电应用程序。这是一个错误还是我做错了什么
注意:作为观察,当mLastTimeSystemUsed与mLastTimeUsed相同时,此API返回正确的结果。仅供参考
下面的代码片段:
Map<String, UsageStats> appUsageStats appUsageStats = UStats.getMapOfAggregatedUsage(MainActivity.this);
if(appUsageStats.get(appInformation.packageName)!=null)
{
long used = appUsageStats.get(appInformation.packageName).getLastTimeUsed();
long installedDiff2 = new Date().getTime() - new Date(used).getTime();
long daysGap = TimeUnit.DAYS.convert(installedDiff2, TimeUnit.MILLISECONDS);
if(daysGap==0)
{
appInfoObj.setAppUsedDate("Used : Today");
}else{
appInfoObj.setAppUsedDate("Used : " + String.valueOf(daysGap) + " days ago");
}
appInfoObj.setAppUsedDateNumber(daysGap);
}
Map-appusagentats-appusagentats=UStats.getMapOfAggregatedUsage(MainActivity.this);
if(appUsageStats.get(appInformation.packageName)!=null)
{
long used=appUsageStats.get(appInformation.packageName.getLastTimeUsed();
long installedDiff2=新日期().getTime()-新日期(已使用).getTime();
long daysGap=TimeUnit.DAYS.convert(installedDiff2,TimeUnit.ms);
如果(daysGap==0)
{
appInfoObj.setAppUsedDate(“使用:今天”);
}否则{
appInfoObj.setAppUsedDate(“使用:“+String.valueOf(daysGap)+”daysago”);
}
appInfoObj.setappusedadatenumber(daysGap);
}
UStats类方法:
public static Map<String, UsageStats> getMapOfAggregatedUsage (Context context)
{
Calendar calendar = Calendar.getInstance();
long endTime = calendar.getTimeInMillis();
calendar.add(Calendar.YEAR, -1);
long startTime = calendar.getTimeInMillis();
return getUsageStatsManager(context).queryAndAggregateUsageStats(startTime,endTime);
// return null;
}
公共静态映射getMapOfAggregatedUsage(上下文)
{
日历=Calendar.getInstance();
long-endTime=calendar.getTimeInMillis();
calendar.add(calendar.YEAR,-1);
long startTime=calendar.getTimeInMillis();
返回getUsageStatsManager(上下文).QueryAndAgregateUsageStats(开始时间,结束时间);
//返回null;
}