android5.0之后,如何獲取當前頂端包名
android5.0之后,如何獲取當前頂端包名
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS)。intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)。startActivity(intent)。之后,獲取UsageStatsManager實例并查詢最近一天的應用使用記錄。UsageStatsManager mUsageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE)。long time = System.currentTimeMillis()。
導讀Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS)。intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)。startActivity(intent)。之后,獲取UsageStatsManager實例并查詢最近一天的應用使用記錄。UsageStatsManager mUsageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE)。long time = System.currentTimeMillis()。
![](https://img.51dongshi.com/20250108/wz/18388511252.jpg)
在Android 5.0及之后的版本中,獲取當前棧頂應用程序的包名需要通過UsageStatsManager服務。首先,打開應用使用權(quán)限設置界面,意圖設置如下:Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);之后,獲取UsageStatsManager實例并查詢最近一天的應用使用記錄:UsageStatsManager mUsageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);long time = System.currentTimeMillis();List
stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000 * 10, time);接下來,將這些應用使用記錄按最后使用時間排序:SortedMap mySortedMap = new TreeMap();for (UsageStats usageStats : stats) {mySortedMap.put(usageStats.getLastTimeUsed(), usageStats);}若排序后的映射表不為空,則取出最后使用的應用程序包名:if (mySortedMap != null && !mySortedMap.isEmpty()) {topPackageName = mySortedMap.get(mySortedMap.lastKey()).getPackageName();Log.e("TopPackage Name", topPackageName);}對于Android 5.0以下的版本,則可通過ActivityManager查詢當前棧頂任務信息,獲取包名如下:else {List tasks = activityManager.getRunningTasks(1);ActivityManager.RunningTaskInfo taskInfo = tasks.get(0);topPackageName = taskInfo.topActivity.getPackageName();}以上方法可以有效獲取當前棧頂應用程序的包名,適用于不同Android版本的設備。詳情
android5.0之后,如何獲取當前頂端包名
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS)。intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)。startActivity(intent)。之后,獲取UsageStatsManager實例并查詢最近一天的應用使用記錄。UsageStatsManager mUsageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE)。long time = System.currentTimeMillis()。
為你推薦