2016-05-21 2 views
0

Я хотел бы получить информацию о другом приложении, которое использовалось в прошлый раз, или время запуска, или количество запусков другого приложения. (Так же, как информация о статистике использования)(Android) обнаруживает, когда запущено/запущено другое приложение для всего приложения

Usage statistics information

Я нашел подобный вопрос и ответ на здесь. Но те, не работает в Android M или L. андроида

Есть ли какой-то способ может получить информацию, что мне нужно? (Если можно)

Спасибо.

1: enter image description here

1: enter image description here

+0

Вам нужно будет использовать UsageStatsManager на Android 5.0.1+. –

ответ

0

вы можете получить UsesStats из главных приоритетных приложений. но при этом пользователь имеет права на Принять или Отклонить для каждого приложения отдельно. получение разрешения

Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS); 

и это вернет передний план приложения ..

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();         
     }          
    } 
} 
+0

getRecentTasks возвращает ваше приложение только на Android 5.0.1+. См. Https://github.com/jaredrummler/AndroidProcesses –

+0

обновленный ответ. –

Смежные вопросы