前回使用した別のアプリの情報、または起動時間、別のアプリの起動回数を取得します。 (ただ、使用統計情報など)(Android)は、別のアプリの起動時に検出する/すべてのアプリの起動回数をカウントします。
私はここで、いくつかの同様の質問と答えを発見しました。 しかし、これらのアンドロイドMまたはアンドロイドL.
では動作しませんが、いくつかの方法があります(例可能であれば)?私は必要なもの
おかげで情報を得ることができます。
1:
1:
前回使用した別のアプリの情報、または起動時間、別のアプリの起動回数を取得します。 (ただ、使用統計情報など)(Android)は、別のアプリの起動時に検出する/すべてのアプリの起動回数をカウントします。
私はここで、いくつかの同様の質問と答えを発見しました。 しかし、これらのアンドロイドMまたはアンドロイドL.
では動作しませんが、いくつかの方法があります(例可能であれば)?私は必要なもの
おかげで情報を得ることができます。
1:
1:
あなたがトップフォアグラウンドアプリケーションのUsesStats
を得ることができます。これを使用すると、ユーザーはに承諾するまたは拒否する各アプリごとに個別に
String topPackageName ;
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
UsageStatsManager mUsageStatsManager = (UsageStatsManager)getSystemService("usagestats");
long time = System.currentTimeMillis();
// We get usage stats for the last 10 seconds
List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000*10, time);
// Sort the stats by the last time used
if(stats != null) {
SortedMap<Long,UsageStats> mySortedMap = new TreeMap<Long,UsageStats>();
for (UsageStats usageStats : stats) {
mySortedMap.put(usageStats.getLastTimeUsed(),usageStats);
}
if(!mySortedMap.isEmpty()) {
topPackageName = mySortedMap.get(mySortedMap.lastKey()).getPackageName();
}
}
}
getRecentTasksはAndroid 5.0.1以降のアプリケーションのみを返します。更新された回答はhttps://github.com/jaredrummler/AndroidProcesses –
をご覧ください。 –
あなたは5.0.1+ Android上でUsageStatsManagerを使用する必要があります。..許可
を取得し、これがフォアグラウンドアプリケーションを返します。 –