使用usage statistics API,这个API本来是系统用来统计app使用情况的,包含了每个app最近一次被使用的时间。我们只需要找出距离现在时间最短的那个app,就是当前在前台的app。
类和方法
类 | 方法 | 说明 |
---|---|---|
UsageStaticsManager | – | app使用统计的管理者 |
– | queryUsageStats (int intervalType, long beginTime, long endTime) | 按照条件查询,结果是List,API>=21 |
UsageStats | – | app使用统计信息类 |
– | getPackageName() | 获取包名,API>=21 |
– | getLastTimeUsed() | 最后的使用时间,API>=21 |
首先需要在AndroidManifest里声明权限:
-
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"
-
tools:ignore="ProtectedPermissions" />
如果不声明权限,会导致打开的设置界面没有我