对于安装在 POS android 设备上的银行应用程序。目标是检测用户何时打开设置并弹出锁定屏幕。不同之处在于,该应用程序在 POS 设备中像往常一样具有自定义启动器。使用下面的代码,我只能检测到自定义启动器。
ActivityManager activityManager = (ActivityManager)
getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = activityManager
.getRunningTasks(Integer.MAX_VALUE);
for (ActivityManager.RunningTaskInfo task : tasks) {
if (task.baseActivity.getPackageName().equalsIgnoreCase("com.android.settings")) {
Toast.makeText(this, " MyService Started", Toast.LENGTH_LONG).show();
}
}
我只能检测到自定义启动器的 MainActivity!。
我还尝试了以下链接中的不同代码实现
对于添加到清单的权限
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.REAL_GET_TASKS " />
<uses-permission
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />