をUsageStatsManager
から照会しようとしています。毎日使用していたすべてのアプリパッケージを返すことを目的としています。Android:UsageStatsManagerが正しい日常の結果を返さない
コード:
public static List<UsageStats> getUsageStatsList(Context context){
UsageStatsManager usm = getUsageStatsManager(context);
Calendar calendar = Calendar.getInstance();
long endTime = calendar.getTimeInMillis();
calendar.add(Calendar.DAY_OF_YEAR, -1);
long startTime = calendar.getTimeInMillis();
List<UsageStats> usageStatsList = usm.queryUsageStats(UsageStatsManager.INTERVAL_DAILY,startTime, endTime);
return usageStatsList;
}
私はちょうど真夜中とクエリのusagestats前に毎日発射した後、返されたデータを格納するアラームを持っています。最初はすべてうまくいっているようでしたが、パッケージ結果とアクティブ時間を取得していましたが、時間ごとに結果を確認する関数を追加しました。ここでは奇妙な発見をしました。
UsageStatsManager
の結果は、真夜中ではなく、異なる時刻にリセットされているように見えました。これは、私がINTERVAL_DAILY
を検索パラメータとして使用していると考えていると思われます。 ミッドナイト
- 午前3時
- 正午
- 15:00
- :私はパッケージ '時間' の結果を保存したデータから、 は(ラフタイミング)でリセットされているように見えます
私は、パッケージタイミングがリセットされたときと、起こることを意味する?
私はすでに次のスレッドを見てきましたし、私からの私の多くの情報を得たところ、それはです:したがって How to use UsageStatsManager?
:コメントで Android UsageStatsManager producing wrong output? が
queryUsageStats
から返されたデータが信頼できないことを言及ランダムな結果が返されます。シンプルなものがありませんか、または
UsageStatsManager
が正しく機能していませんか?