最近起動したアプリをより正確に監視するアプリケーションを作成しています。各アプリが起動した回数をテストします。このため最近のアプリの開始時期を知る方法はありますか?
私が使用しています:
final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final List<RecentTaskInfo> recentTasks = activityManager.getRecentTasks(20,ActivityManager.RECENT_WITH_EXCLUDED);
for (int i = 0; i < recentTasks.size(); i++) {
Intent baseIntent = recentTasks.get(i).baseIntent;
if(baseIntent != null) {
Log.d("Text", "Application executed: " + i + ": baseIntent: " + baseIntent.getComponent().getPackageName() + baseIntent.getComponent().getClassName());
}
問題は、それが十分ではないということです。アプリが3回起動した場合は、1回だけ取得します。
これはアプリがいつ開始されたかを知る必要があります。
返信いただきありがとうございます。ええ、これは前に実装された方法です。 その問題は、その重い読書が数時間のログになることです。ログがあるデバイスから別のデバイスに異なることがあり、将来のバージョンで変更される可能性があります... – ZiviMagic