/// <summary> /// Query top 10 battery consuming applications since the last time when the device has fully charged /// </summary> /// <returns>List of application history information</returns> public List <StatsInfoItem> QueryBatteryConsumingApplications() { try { // Create a BatteryStatistics instance var batteryStats = new BatteryStatistics(); // Query top 10 battery consuming applications since the last time when the device has fully charged var batteryStatsResult = batteryStats.Query(BatteryStatistics.GetLastFullyChargedTime(), DateTime.Now, 10); List <StatsInfoItem> result = new List <StatsInfoItem>(); foreach (var record in batteryStatsResult) { var appInfo = new ApplicationInfo(record.AppId); string name = (!appInfo.Label.Equals(string.Empty)) ? appInfo.Label : record.AppId; string info = "Consumption: " + record.Consumption + " %"; // Add each record to the result list result.Add(new StatsInfoItem(name, info)); appInfo.Dispose(); } return(result); } catch (Exception e) { LogImplementation.DLog(e.Message.ToString()); } return(null); }
/// <summary> /// Query top 10 frequently used applications during the last 3 days /// </summary> /// <returns>List of application history information</returns> public List <StatsInfoItem> QueryFrequentlyUsedApplications() { try { // Create an UsageStatistics instance var usageStats = new UsageStatistics(UsageStatistics.SortOrderType.LaunchCountMost); // Query top 10 frequently used applications during the last 3 days var usageStatsResult = usageStats.Query(DateTime.Now.AddDays(-3), DateTime.Now, 10); List <StatsInfoItem> result = new List <StatsInfoItem>(); foreach (var record in usageStatsResult) { var appInfo = new ApplicationInfo(record.AppId); string name = (!appInfo.Label.Equals(string.Empty)) ? appInfo.Label : record.AppId; string info = "LaunchCount: " + record.LaunchCount + "\r\n"; info += "LastLaunchTime: " + record.LastLaunchTime + "\r\n"; info += "Duration: " + record.Duration + " secs"; // Add each record to the result list result.Add(new StatsInfoItem(name, info)); appInfo.Dispose(); } return(result); } catch (Exception e) { LogImplementation.DLog(e.Message.ToString()); } return(null); }
/// <summary> /// Check permission about http://tizen.org/privilege/apphistory.read privilege /// </summary> public void CheckPermission() { try { CheckResult result = PrivacyPrivilegeManager.CheckPermission("http://tizen.org/privilege/apphistory.read"); switch (result) { case CheckResult.Allow: break; case CheckResult.Deny: break; case CheckResult.Ask: PrivacyPrivilegeManager.RequestPermission("http://tizen.org/privilege/apphistory.read"); break; } } catch (Exception e) { LogImplementation.DLog(e.Message.ToString()); } }